2013-05-11 57 views
2

我一直在使用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 

任何想法,這個錯誤來自???

+0

我也是最近遇到這個錯誤,我還沒有解密它來自哪裏。最近你不必有力量推動你的分支,是嗎? – jeffbyrnes 2013-06-28 18:13:31

+0

我有同樣的錯誤。只有在幹運行 – 2014-01-13 15:39:42

回答

0

我不確定它是否會幫助你,但我追溯到我的安裝​​寶石。看起來,即使它不是必需的,它仍然以某種方式被加載並干擾w/Cap的內置load 'deploy',並導致各種破壞(因爲你不能無軌道部署和Cap內置一起部署命名空間)。

無論如何,我刪除了load 'deploy'系列,在railsless-deploy中添加,並且一切都很好。

+0

已經有一段時間了,但我會指出,我現在是無軌運行部署寶石的維護者。所以,如果它造成更多的麻煩,讓我知道在那邊的一個問題! – jeffbyrnes 2015-04-17 20:49:18

相關問題