0

Windowsマシンからコマンドを実行しようとするとcap deploy、VPSから次のエラーが返されます。

sh: rake: not found

サーバー自体にSSHで接続すると、問題なく簡単に実行rakeできます。RVMを使用しているため、奇妙な場所にありますが、それでも機能します。それがキャピストラーノから実行されているとき、どういうわけかその場所の知識が台無しになっているようです。

Railsを使用したアジャイルWeb開発では、次のものが追加されますdeploy.rb

# adjust if you are using RVM, remove if you are not
$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require "rvm/capistrano"
set :rvm_ruby_string, '1.9.2'
set :rvm_type, :user

問題は、私がWindowsマシン(RVMを使用していない)を使用していることです。これにより、deployRVMがないため、Capistranoタスク全体がクラッシュします。これを機能させるには、RVMをローカルにインストールする必要がありますか?サーバー上でのみ必要だと思います。

なぜ一体がrake見つからないのですか?!自分でサーバーにSSHで接続すると、確かに機能します...

編集:この質問は非常に似ているようです:

Capistranoはリモートサーバーへの展開に失敗します

しかし、彼の解決策は、私がやろうとしていたのと同じことをすることを含んでいるようです-どういうわけか彼はrequire "rvm/capistrano"私のマシンでクラッシュするラインに問題がないことを除いて。また、彼のパスは私のものと同じ形式ではないように見えますか?

私の:/home/sysadmin/.rvm/gems/ruby-1.9.3-p194@global/bin/rake

彼の:/usr/local/rvm/gems/ruby-1.9.2-p290@rails31dataserver/bin

私はこれらの環境がどのように機能するかについて本当に混乱しています...

4

1 に答える 1

2

ええと、私はCapistrano RVM gemをインストールしていなかったので、require "rvm/capistrano"正しくインストールできませんでした。gem install rvm-capistranoこの問題を修正しました。

于 2012-08-13T15:07:03.690 に答える