1

最近、Rails 3 アプリ用の運用サーバーをセットアップしました。

最初の展開では、すべてが正常に機能しました。その後のデプロイでは、プロジェクトに追加された新しい gem が見つかりません。uninitialized constant新しく追加された宝石からクラスとメソッドを参照するとundefined method、それぞれエラーが発生します。

最初にセットアップしたときは、RVM で gemset を使用していましたが、gemset を削除して RVM のみを使用してルビーを管理することで、物事を簡素化しようとしました。

私が実行するとbundle list、すべてがそこにあります。すべての宝石が入っています<app_root>/shared/bundle/ruby/1.9.1/gems/

元の宝石セットのように、他の場所から宝石をロードしているようですが、削除しました。

その他の詳細、私はもちろんカピストラーノを使用しています、ユニコーン、私のGEM_HOME=/home/deployer/.rvm/gems/ruby-1.9.3-p286

他に提供できる情報があれば教えてください。

ありがとう。

4

2 に答える 2

0

使用する場合は、コマンドを実行するときに、次のようにコマンドのbundle install --deployment前にプレフィックスを付ける必要があります。bundle exec

bundle exec rake db:migrate

統合を使用する場合bundler/capistranoは、それが自動的に行われますcapistanoが、コンソールではbundle exec手動で使用する必要があります。

RVM はruby​​gems-bundler gemを使用して回避するのに役立ちましたが、gemset を変更したため、生成されたラッパーは使用できなくなりました。再入力を避けるために、ラッパーを再生成するには、クリーンアップ<app_root>/shared/bundle/ruby/1.9.1/gems/してから再度実行する必要があります。bundle installbundle exec

于 2013-03-13T17:53:31.340 に答える