2016-07-27 21 views
8

Ich habe viel zu viel Zeit damit verbracht, dies zu debuggen, und ich habe keine Ahnung, was vor sich geht. "cap production deploy" hat heute Morgen gut funktioniert und jetzt gibt es nur einen Fehler. Google war bisher nicht sehr hilfreich, überraschend. Nichts hat sich in der Code-Basis geändert, die ich kenne:Capistrano-Fehler: undefinierte Methode `already_invoked 'für <Rake :: Task load: defaults => []>: Rake :: Aufgabe

➜ sesac-mm-matching git:(deploy) cap production deploy --trace 
    ** Invoke production (first_time) 
    ** Execute production 
    cap aborted! 
    NoMethodError: undefined method `already_invoked' for <Rake::Task load:defaults => []>:Rake::Task 
    /Users/***/.rvm/gems/[email protected]/gems/capistrano-3.6.0/lib/capistrano/dsl.rb:16:in `invoke' 
    /Users/***/.rvm/gems/[email protected]/gems/capistrano-3.6.0/lib/capistrano/setup.rb:24:in `block (2 levels) in <top (required)>' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/task.rb:240:in `block in execute' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/task.rb:235:in `each' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/task.rb:235:in `execute' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/task.rb:179:in `block in invoke_with_call_chain' 
    /Users/***/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/task.rb:172:in `invoke_with_call_chain' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/task.rb:165:in `invoke' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/application.rb:150:in `invoke_task' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/application.rb:106:in `block (2 levels) in top_level' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/application.rb:106:in `each' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/application.rb:106:in `block in top_level' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/application.rb:115:in `run_with_threads' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/application.rb:100:in `top_level' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/application.rb:78:in `block in run' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/application.rb:176:in `standard_exception_handling' 
    /Users/***/.rvm/gems/ruby-2.3.0/gems/rake-10.5.0/lib/rake/application.rb:75:in `run' 
    /Users/***/.rvm/gems/[email protected]/gems/capistrano-3.6.0/lib/capistrano/application.rb:14:in `run' 
    /Users/***/.rvm/gems/[email protected]/gems/capistrano-3.6.0/bin/cap:3:in `<top (required)>' 
    /Users/***/.rvm/gems/ruby-2.3.0/bin/cap:23:in `load' 
    /Users/***/.rvm/gems/ruby-2.3.0/bin/cap:23:in `<main>' 
    /Users/***/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval' 
    /Users/***/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>' 
    Tasks: TOP => production 

Kann jemand eine Richtung geben?

Antwort

11

Ja, es sieht so aus, als hätten Sie einen Fehler in der neu veröffentlichten Capistrano 3.6.0 gefunden. Bitte melden Sie den Fehler hier: https://github.com/capistrano/capistrano/issues

Das zugrunde liegende Problem ist, dass Capistrano 3.6.0 (irrtümlicherweise) mit Rake < 11.0.0 inkompatibel ist.

In der Zwischenzeit können Sie durch ein Upgrade Rake auf Version 11.0.0 oder höher mit gem install rake oder bundle update rake (je nachdem, ob Sie für Capistrano verwenden bundle exec oder nicht), um dieses Problem umgehen.

Wenn Sie Rake nicht aktualisieren können, müssen Sie Capistrano auf Version 3.5.0 herunterstufen, bis der Fehler behoben wurde.

Update: Capistrano 3.6.1 wurde veröffentlicht und stellt die Kompatibilität mit Rake < 11.0.0 wieder her.

+0

Danke, Matt. Das ist absolut sinnvoll, da der Fehler früher mit einem Bündelupdate zusammenfiel. – Lush