0

尝试cap deploy从 Windows 机器执行命令时,我从 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),这会导致整个deployCapistrano 任务崩溃,因为我没有 RVM。我是否需要在本地安装 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 回答