2016-07-27 15 views
8

Tôi đã dành quá nhiều thời gian để gỡ lỗi này, và tôi không biết chuyện gì đang diễn ra. "triển khai sản xuất mũ" đã hoạt động tốt vào sáng nay, và bây giờ nó chỉ ném một lỗi. Google đã không được giúp đỡ nhiều cho đến nay, đáng ngạc nhiên. Không có gì thay đổi trong cơ sở mã mà tôi biết:Lỗi Capistrano: phương thức chưa xác định `has_invoked 'cho <Rake :: Tải tác vụ: mặc định => []>: 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 

Có ai có thể cung cấp một số hướng không?

Trả lời

11

Có, có vẻ như bạn đã tìm thấy lỗi trong Capistrano mới phát hành 3.6.0. Vui lòng báo cáo lỗi tại đây: https://github.com/capistrano/capistrano/issues

Vấn đề cơ bản là Capistrano 3.6.0 (nhầm lẫn) không tương thích với Rake < 11.0.0. Trong thời gian chờ đợi, bạn có thể giải quyết vấn đề này bằng cách nâng cấp Rake lên phiên bản 11.0.0 trở lên với gem install rake hoặc bundle update rake (tùy thuộc vào việc bạn sử dụng bundle exec cho Capistrano hay không).

Nếu bạn không thể nâng cấp Rake, hãy hạ cấp Capistrano xuống phiên bản 3.5.0 cho đến khi lỗi được sửa.

Cập nhật: Capistrano 3.6.1 đã được phát hành và khôi phục khả năng tương thích với Rake < 11.0.0.

+0

Cảm ơn, Matt. Điều đó có ý nghĩa hoàn toàn vì lỗi trùng với 'cập nhật gói' trước đó trong ngày. – Lush

Các vấn đề liên quan