2016-07-27 20 views
8

Spędziłem zbyt dużo czasu na debugowaniu tego i nie mam pojęcia, co się dzieje. "Wdrożenie produkcji czapek" sprawdziło się dziś rano, a teraz po prostu powoduje błąd. Jak na razie, Google nie pomogło jak dotąd. Nic nie zmieniło się w bazie kodu, którą znam:Błąd Capistrano: niezdefiniowana metoda "already_invoked" dla <Rake :: Zadanie load: defaults => []>: Rake :: Task

➜ 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 

Czy ktoś jest w stanie zapewnić pewien kierunek?

Odpowiedz

11

Tak, wygląda na to, że znalazłeś błąd w nowo wydanym Capistrano 3.6.0. Proszę zgłosić błąd tutaj: https://github.com/capistrano/capistrano/issues

Podstawowy problem polega na tym, że Capistrano 3.6.0 jest (pomyłkowo) niezgodny z Rake < 11.0.0.

W międzyczasie, można obejść ten problem przez uaktualnienie do wersji 11.0.0 Rake lub wyższej z gem install rake lub bundle update rake (w zależności od tego, czy używasz bundle exec dla Kapistrana czy nie).

Jeśli nie możesz uaktualnić prowizji, obniż wersję Capistrano do wersji 3.5.0, dopóki błąd nie zostanie naprawiony.

Aktualizacja: Capistrano 3.6.1 został wydany i przywraca zgodność z Rake < 11.0.0.

+0

Dzięki, Matt. To ma sens, ponieważ błąd zbiegał się z "aktualizacją pakietu" wcześniej tego samego dnia. – Lush