尝试从Windows计算机执行命令cap deploy
时,我从VPS收到此错误:
sh: rake: not found
如果我将SSH连接到服务器本身,我可以轻松运行rake
而不会出现问题。它位于一个奇怪的位置,因为我正在使用RVM,但它仍然有效。从卡皮斯特拉诺(Capistrano)开始运作时,它的位置知识似乎不知所措。
使用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
Capistrano任务崩溃,因为我没有RVM。我是否需要在本地安装RVM才能使用?我希望它只在服务器上有用。
为什么找不到rake
?!当我自己SSH服务器时,确实有效......
编辑:看起来这个问题非常相似:
Capistrano fails to deploy to remote server
然而,他的解决方案似乎涉及我正在尝试做同样的事情 - 除了某种程度上他对我的机器上崩溃的行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
我对这些环境如何运作感到困惑......
答案 0 :(得分:2)
Duh,我没有安装Capistrano RVM gem,所以我无法正确require "rvm/capistrano"
。 gem install rvm-capistrano
解决了这个问题。