0

capistrano、unicorn、rbenv、nginx、linode、ubuntu 12.04 を使用して、最初の Rails アプリをデプロイしています。私が走るとき

bin/cap 展開:コールド

アプリのルートで、次のエラーが返されます。

  * 2012-10-31 01:19:36 executing `bundle:install'
  * executing "cd /home/mr_deployer/apps/prjct_mngr/releases/20121031001933 && bundle install --gemfile /home/mr_deployer/apps/prjct_mngr/releases/20121031001933/Gemfile --path /home/mr_deployer/apps/prjct_mngr/shared/bundle --deployment --quiet --without development test"
    servers: ["xxxxxxxxxxxxx"]
    [xxxxxxxxxxxxx] executing command
 ** [out :: xxxxxxxxxxxxx] Could not find rake-0.9.2.2 in any of the sources
 ** [out :: xxxxxxxxxxxxx] Run `bundle install` to install missing gems.
    command finished in 1046ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /home/mr_deployer/apps/prjct_mngr/releases/20121031001933; true"
    servers: ["xxxxxxxxxxxxx"]
    [xxxxxxxxxxxxx] executing command
    command finished in 625ms
failed: "sh -c 'cd /home/mr_deployer/apps/prjct_mngr/releases/20121031001933 && bundle install --gemfile /home/mr_deployer/apps/prjct_mngr/releases/20121031001933/Gemfile --path /home/mr_deployer/apps/prjct_mngr/shared/bundle --deployment --quiet --without development test'" on xxxxxxxxxxxxx

開発マシンで bundle install --path vendor/bundle を実行しました。gem rake は開発マシンと linode vps の両方にインストールされています。レーキが見つからないのはなぜですか?

アップデート:

linode の bashrc と deploy.rb ファイルの :default_envoronment の両方に、linode の rake gem のパスを追加しようとしました。それでも同じエラーが発生します...

4

3 に答える 3

0

このエラーは、デプロイ先のマシンにrakeがインストールされていないことを示すものではありません。このエラーは、Bundlerがgemをインストールしようとしたときに、GemfileにリストされているソースでRakeバージョン0.9.2.2を見つけることができなかったことを意味します。Gemfileに次のような行が含まれていますsource "http://rubygems.org"か?

于 2012-10-31T16:50:50.097 に答える
0

たとえば、capistrano receipe でパスを指定してみてください。

default_environment["PATH"] = "/usr/local/bin:/usr/bin:/usr/local/rvm/bin/:/var/lib/gems/1.9.1/bin"

パスがどのように見えるかわからない場合は、ssh 経由でサーバーに接続し、コマンドを実行します。

echo $PATH
于 2012-10-31T00:40:06.770 に答える
0

Capistrano は、cd /home/mr_deployer/apps/prjct_mngr/releases/20121031001933 && bundle install --gemfile /home/mr_deployer/apps/prjct_mngr/releases/20121031001933/Gemfile --path /home/mr_deployer/apps/prjct_mngr/shared/bundle --deployment --quiet --without development testサービスがデプロイされているリモート マシンでコマンドを実行しようとします。

リモートノードには、使用しようとしているものがrakeインストールされていないようbundleです。

必要なすべての gem がリモート マシンにインストールされていることを確認する必要があるかもしれません。

于 2012-10-31T16:17:06.923 に答える