2016-07-27 4 views
8

Я потратил слишком много времени на отладку, и я понятия не имею, что происходит. «Утилизация производства« крышек »работала отлично сегодня утром, и теперь она просто порождает ошибку. До сих пор Google не очень помог, на удивление. Ничего не изменилось в базе кода, о которой я знаю:Ошибка Capistrano: неопределенный метод `уже_invoked 'для <Rake :: Task 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 

Может ли кто-нибудь помочь в определенном направлении?

ответ

11

Да, похоже, что вы обнаружили ошибку в недавно выпущенном Capistrano 3.6.0. Пожалуйста, сообщите об ошибке здесь: https://github.com/capistrano/capistrano/issues

Основная проблема заключается в том, что Capistrano 3.6.0 (ошибочно) несовместим с Rake < 11.0.0.

В то же время, вы можете обойти эту проблему путем обновления Грабли до версии 11.0.0 или выше с gem install rake или bundle update rake (в зависимости от того, используете ли вы bundle exec для Капистрано или нет).

Если вы не можете обновить Rake, понизите Capistrano до версии 3.5.0 до тех пор, пока ошибка не будет исправлена.

Обновление: Capistrano 3.6.1 был выпущен и восстанавливает совместимость с Rake < 11.0.0.

+0

Спасибо, Мэтт. Это делает общий смысл, поскольку ошибка совпала с обновлением пакета в начале дня. – Lush