2

Railsアプリが3つ入ったボックスがあります。他のアプリを1.9.3-p394で実行したまま、Ruby2.0.0を使用するようにアプリの1つをアップグレードしたくありません。これらのRubiesは両方ともRvm経由でインストールされています。

各アプリが使用するRubyのバージョンをGemfileで制御しようとしています。

# Gemfile
ruby '2.0.0'

そこで、Gemfileのバージョン番号をローカルで変更し、すべてが機能し、コミットされていることを確認し、変更をサーバーにデプロイしようとしています。

ただし、cap deployこの時点で失敗します

bundle install --gemfile [path to release Gemfile] --path [path to app bundle] --deployment --quiet --without development test

なぜなら

Your Ruby version is 1.9.3, but your Gemfile specified 2.0.0

これは技術的には正しいです。私のGemfileは2.0.0を指定しており、アプリは現在1.9.3で実行されています。ただし、バンドルする前にバージョンを変更させようとしています。それ、どうやったら出来るの?

4

3 に答える 3

1

PATHが正しく設定されていません。パスの最初のエントリとしてbin:がない可能性があります。これにより、このエラーが発生します。

Herokuを使用していない場合でも、その問題のトラブルシューティングについて次のページを読む価値があります:https ://devcenter.heroku.com/articles/ruby-versions

サーバー上のPATHを変更する方法を説明する回答へのリンクは次のとおりです。Capistrano:キャップセッション全体に環境変数を設定できますか?

于 2013-03-26T02:20:05.920 に答える
0

あなたがrvmを持っているなら多分あなたはすることを試みることができます

rvm use 2.0.0

バンドラーの呼び出しの前に。

于 2013-03-26T03:43:40.303 に答える
0

rvmを使用している場合は、サーバーでデフォルトをruby2.0.0に設定します

rvm --default use 2.0.0

MacからAWSサーバーにデプロイする際の問題は解決しましたが、古いサイトを更新する必要がある場合は、デプロイする前にデフォルトを1.9.3に戻す必要があると思います。

于 2013-09-11T16:31:22.487 に答える