2013-12-24 78 views
2

我通過Magentify使用capistrano。我正在使用RVM作爲archlinux上的常規用戶。我使用Ruby 2.0.0,並在我爲此定義的gemset中運行了gem install magentify。它安裝了Capistrano 3.0.1和約9個其他寶石。當我設置的配方,我試過Capistrano - undefined方法`map'

cap -T 

,並將其寫入

cap aborted! 
undefined method `map' for :except:Symbol 
/home/dirtymikeandtheboys/.rvm/gems/ruby-1.9.3-p484/gems/magentify-0.0.6/lib/nonrails.rb:24:in `block in <top (required)>' 

我也試過cap deploy具有相同的結果(不知道我的預期。)我該如何開始試圖解決這一問題?

編輯:使用命令cap -T--trace

cap aborted! 
undefined method `map' for :except:Symbol 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/task.rb:304:in `set_arg_names' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/task_manager.rb:29:in `define_task' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/task.rb:360:in `define_task' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/dsl_definition.rb:32:in `task' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/magentify-0.0.6/lib/nonrails.rb:24:in `block in <top (required)>' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/task_manager.rb:196:in `in_namespace' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/dsl_definition.rb:104:in `namespace' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/magentify-0.0.6/lib/nonrails.rb:7:in `<top (required)>' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/magentify-0.0.6/lib/mage.rb:1:in `load' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/magentify-0.0.6/lib/mage.rb:1:in `<top (required)>' 
/home/dirtymike/public_html/project/Capfile:3:in `load' 
/home/dirtymike/public_html/project/Capfile:3:in `<top (required)>' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/rake_module.rb:25:in `load' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/rake_module.rb:25:in `load_rakefile' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/application.rb:637:in `raw_load_rakefile' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/application.rb:94:in `block in load_rakefile' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/application.rb:165:in `standard_exception_handling' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/application.rb:93:in `load_rakefile' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/capistrano-3.0.1/lib/capistrano/application.rb:22:in `load_rakefile' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/application.rb:77:in `block in run' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/application.rb:165:in `standard_exception_handling' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/rake-10.1.1/lib/rake/application.rb:75:in `run' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/capistrano-3.0.1/lib/capistrano/application.rb:12:in `run' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/gems/capistrano-3.0.1/bin/cap:3:in `<top (required)>' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/bin/cap:23:in `load' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/bin/cap:23:in `<main>' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/bin/ruby_executable_hooks:15:in `eval' 
/home/dirtymike/.rvm/gems/ruby-1.9.3-p484/bin/ruby_executable_hooks:15:in `<main>' 
+2

你檢查你的食譜'的發生:except'? –

+0

我沒有在我的capfile或deploy.rb中看到任何內容 – dirtymikeandtheboys

+0

不要假設你有可以發佈的堆棧跟蹤? –

回答

0

編輯

這是固定在創業板上市的0.0.7版本。我提交了一個補丁,它現在強制給Capistrano 2.X,這是唯一兼容的版本。原來的答案是錯誤的,問題不在於Rake。

原來的答案

看來這個問題是耙,而不是與Capistrano的。您可能需要使用舊版rake(可能爲0.9.6),或者更新Magentify gem以與rake 10一起使用。也許您可以在該回購站上打開一個問題。

編輯

確認:它與耙0.9.6工作。

可以將此Gemfile文件添加到您的項目:

source 'http://rubygems.org' 

gem 'rake', '~> 0.9' 
gem 'magentify' 

,然後運行它像bundle exec cap -T

+0

這樣做!謝謝! – dirtymikeandtheboys