我一直在使用Ruby的Capistrano部署工具幾年,從來沒有太多問題。現在,在將Ruby升級到2.0後,我開始發生各種錯誤,使我無法部署。Capistrano正在拋出一個NoMethodError
我已經完全卸載了RVM,除了我的基本OS X Ruby安裝(我相信1.8.7),然後通過rbenv從頭開始重新安裝。
我通過rbenv運行的Ruby 1.9.3-P0,並且已經安裝Capistrano的寶石版本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
和配置缺省的/ 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
任何想法,這個錯誤來自???
我也是最近遇到這個錯誤,我還沒有解密它來自哪裏。最近你不必有力量推動你的分支,是嗎? – jeffbyrnes 2013-06-28 18:13:31
我有同樣的錯誤。只有在幹運行 – 2014-01-13 15:39:42