カピストラーノを使用してサーバーにデプロイし、最後のステップとして bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile を実行しています。問題は、cap deploy からこの時点に到達すると、次のエラーが発生することです。
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/spec_set.rb:90:in `block in materialize': プラットフォーム 0.4.0 が見つかりませんでしたいずれかのソース (Bundler::GemNotFound)
Platform-0.4.0 は実際にはサーバー上にあります。そして、サーバーに入ってこの正確なコマンドを実行すると、すべてうまくいきます。
私のサーバーに関するいくつかの事実:RVMを使用していますが、上記のスタックトレースが示唆するように、それはcapの問題ではないようです。もう 1 つの興味深い事実は、このサーバーが最初に私が作成したカスタム スクリプトを使用して作成されたことです。このスクリプトは、アーカイブされたバージョンの git リポジトリをダウンロードし、デプロイ時に cap が行うことを手動で実行します。誰かが尋ねた場合、私がこれを行っている理由は、AWS AutoScaling による自動化のためです。通常の deploy:setup (AWS スクリプトを使用しない) を実行すると、デプロイで問題なく動作します。しかし、gem リストは同じであり、サイトはどちらの方法でもまったく同じように機能します。キャップが展開するだけのもの
何かご意見は?