2016-08-30 5 views
0

私は最初にルビー2.1上にあったルビーアプリケーションを持っていますが、私はそれをルビ2.0を使用するオープンシフトプラットフォームのエンタープライズ版にデプロイしています。私はrvmを使ってruby 2.0.0をインストールし、開発マシン上で動作する2.0.0 gemsetを作成しました。私はオープンシフトプラットフォームに展開するときしかし、私は次のエラーを取得する:私はこの種の問題をグーグルときオープンシフトにデプロイするときのバンドルエラー

remote: Building Ruby cartridge 
remote: bundle install --deployment --path ./app-root/repo/vendor/bundle 
remote: NOTE: You can prevent installing certain Gemfile group using: rhc env set BUNDLE_WITHOUT=groupname 
remote: `mri_21` is not a valid platform. The available options are: [:ruby, :ruby_18, 
remote: :ruby_19, :ruby_20, :mri, :mri_18, :mri_19, :mri_20, :rbx, :jruby, :mswin, 
remote: :mingw, :mingw_18, :mingw_19, :mingw_20] 
remote: An error occurred executing 'gear postreceive' (exit code: 4) 
remote: Error message: CLIENT_ERROR: Failed to execute: 'control build' 

、通常のソリューションは、バンドラを更新することです。しかし、この問題は、オープンシフトプラットフォームのバンドラのように見えます。これをどうやって解決するのですか?

答えて

0

このbundler issueに基づいて、gemファイルにリストされている宝石の中には、ruby 2.1に依存するものがあるという問題があります。私の場合は

、私はコマンドを使用してbye bugが含まれていた(制作グループで宝石を削除することで問題を解決した。これらの宝石は非常にオープンなシフトに必要ではないHerokuの上で使用するためにだった。

rhc env set BUNDLE_WITHOUT=production 

実行する必要がある実際の手順は、宝石ファイルの宝石によって異なります。

関連する問題