1

サーバー上にステージング環境を立ち上げたい。現在、capistranoを使用してデプロイしています。

ext / multistage拡張機能に変更を加えましたが、次のエラーが発生します。

# Add RVM's lib directory to the load path.
  * executing "cd /data/sites/staging.domain.com/apps/app/releases/20120501225426 && rake RAILS_ENV=production  db:migrate"
    servers: ["173.111.158.135"]
    [173.111.158.135] executing command
*** [err :: 173.111.158.135] rake aborted!
*** [err :: 173.111.158.135] Could not find rake-0.9.2.2 in any of the sources
*** [err :: 173.111.158.135] 
*** [err :: 173.111.158.135] (See full trace by running task with --trace)
*** [err :: 173.111.158.135] 
    command finished in 1332ms
failed: "rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell '1.9.2' -c 'cd /data/sites/staging.domain.com/apps/app/releases/20120501225426 && rake RAILS_ENV=production  db:migrate'" on 173.111.158.135

私のgemfileには次のものがあります。

gem 'rake', '0.9.2.2'

ローカルマシンでは、次のようになります。

Tue May 01$ rake -V
rake, version 0.9.2.2
Tue May 01$

サーバー上で、私は持っています:

#rake -V
rake, version 0.9.2

#rake
Could not find rake-0.9.2.2 in any of the sources
Run `bundle install` to install missing gems.

私が以下を実行した場合:

# which ruby
/usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby
# which rake
/usr/local/rvm/gems/ruby-1.9.2-p290/bin/rake
# /usr/local/rvm/gems/ruby-1.9.2-p290/bin/rake -V
rake, version 0.9.2

キャップエラーは少しわかりにくいようです。誰かが私がこれを理解するのを手伝ってもらえますか?0.9.2.2を指定し、9.2しか指定していない場合、他のキャップスクリプトが機能するのはなぜですか?現在行っていないrake0.9.2.2をcapistranoに強制的にインストールさせる方法はありますか?これをどのように行うのですか?

どうも

4

1 に答える 1

0

このエラーは通常、たとえば忘れたときに発生bundle exec rails somethingします。capistranoは、これらのgemをバンドルインストールするためのバンドルコマンドを要求/希望しますか?

編集:ええ、あなたのプロジェクトはこれを期待していないに違いありません:rake RAILS_ENV=production db:migrateしかし多分bundle exec rake RAILS_ENV=production db:migrate

ただし、キャップをどのように設定するかはわかりません。

これはRails3プロジェクトですよね?

于 2012-05-02T00:00:30.723 に答える