我已经使用 Ruby 的 Capistrano 部署工具几年了,从来没有遇到过太多问题。现在,在将 Ruby 升级到 2.0 之后,我开始遇到各种错误,使我无法部署。
我已经完全卸载了 RVM 和除了我的基本 OS X Ruby 安装(我相信是 1.8.7)之外的所有东西,然后通过 rbenv 从头开始重新安装。
我正在通过 rbenv 运行 Ruby 1.9.3-p0,并安装了 Capistrano gem 版本 2.15.4——但每次我尝试cap -n deploy
从一个小的默认 Capfile/deploy.rb 设置进行空运行部署时,我收到此错误:
/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
这个错误来自哪里的任何想法???