与Capistrano一起部署时,“sh:rake:not found”错误

时间:2012-08-03 18:59:23

标签: ruby-on-rails ruby ruby-on-rails-3 rake capistrano

尝试从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

我对这些环境如何运作感到困惑......

1 个答案:

答案 0 :(得分:2)

Duh,我没有安装Capistrano RVM gem,所以我无法正确require "rvm/capistrano"gem install rvm-capistrano解决了这个问题。