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を使用していない)を使用していることです。これにより、deploy
RVMがないため、Capistranoタスク全体がクラッシュします。これを機能させるには、RVMをローカルにインストールする必要がありますか?サーバー上でのみ必要だと思います。
なぜ一体がrake
見つからないのですか?!自分でサーバーにSSHで接続すると、確かに機能します...
編集:この質問は非常に似ているようです:
しかし、彼の解決策は、私がやろうとしていたのと同じことをすることを含んでいるようです-どういうわけか彼は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
私はこれらの環境がどのように機能するかについて本当に混乱しています...