Ruby 卡皮斯特拉诺正在扔一个命名者

Ruby 卡皮斯特拉诺正在扔一个命名者,ruby,deployment,rvm,capistrano,rbenv,Ruby,Deployment,Rvm,Capistrano,Rbenv,我已经使用Ruby的Capistrano部署工具好几年了,从来没有遇到过太多问题。现在,在将Ruby升级到2.0之后,我开始遇到各种各样的错误,使我无法部署 此后,我完全卸载了RVM和除我的基本OS X Ruby安装(我相信是1.8.7)之外的所有东西,然后通过rbenv从头开始重新安装 我正在通过rbenv运行Ruby 1.9.3-p0,并安装了Capistrano gem 2.15.4版——但每次我尝试从一个小的默认Capfile/deploy.rb安装程序执行干运行部署cap-n depl

我已经使用Ruby的Capistrano部署工具好几年了,从来没有遇到过太多问题。现在,在将Ruby升级到2.0之后,我开始遇到各种各样的错误,使我无法部署

此后,我完全卸载了RVM和除我的基本OS X Ruby安装(我相信是1.8.7)之外的所有东西,然后通过rbenv从头开始重新安装

我正在通过rbenv运行Ruby 1.9.3-p0,并安装了Capistrano gem 2.15.4版——但每次我尝试从一个小的默认Capfile/deploy.rb安装程序执行干运行部署
cap-n deploy
,我都会遇到以下错误:

/Users/jason/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/capistrano-2.15.4/lib/capistrano/recipes/deploy/scm/git.rb:234:in `block in query_revision': undefined method `sub' for nil:NilClass (NoMethodError)
我的Capfile只是运行
$capify时的默认值。

# Capfile

load 'deploy'
# Uncomment if you are using Rails' asset pipeline
# load 'deploy/assets'
load 'config/deploy' # remove this line to skip loading any of the default tasks
config/deploy.rb非常简单:

set :application, "capistrano-example"
set :repository,  "git://github.com/jasonrhodes/capistrano-example.git"

set :scm, 'git'

set :user, "myusername"
set :deploy_to, "/home/myusername/jrhodes.me/public_html/capistrano-example"
set :domain, "myserver.com"
role :web, domain              # Your HTTP server, Apache/etc
role :app, domain              # This may be the same as your `Web` server

你知道这个错误是从哪里来的吗?

我不确定它是否对你有帮助,但我追溯到我安装的gem。看起来,即使它不是必需的,它仍然以某种方式被加载并干扰了w/Cap的内置
load'deploy'
,并造成了各种破坏(因为您不能将railsless deploy和Cap的内置deploy命名空间放在一起)


无论如何,我删除了加载“部署”行,添加到railsless deploy中,一切都很好。

我最近也遇到了这个错误,我还没有解释它的来源。你最近不必强迫别人推你的分支,是吗?我也有同样的错误。只是在干运行中,这已经有一段时间了,但我要指出,我现在是无轨部署gem的维护者。所以,如果它引起更多的麻烦,让我知道那里有一个问题!