0

我试图部署我的应用whenever宝石使用capistrano 3部署与capistrano 3和每当宝石

我添加:require "whenever/capistrano"到Capfile,和:

set :whenever_identifier, ->{ "#{fetch(:application)}_#{fetch(:stage)}" } 到CONFIG/deploy.rb。

当我部署它,我得到一个错误:

01 bundler: failed to load command: whenever (/home/deploy/www/laptophits/shared/bundle/ruby/2.2.0/bin/whenever) 

NameError: undefined local variable or method `extract' for #<Whenever::JobList:0x00000002edf6c8> 
     config/schedule.rb:9:in `block in initialize' 

当我ssh到生产机器,并尝试以每次手动运行:/home/deploy/www/laptophits/shared/bundle/ruby/2.2.0/bin/whenever

我得到错误:

/home/deploy/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems.rb:271:in `find_spec_for_exe': can't find gem whenever (>= 0.a) (Gem::GemNotFoundException) 
     from /home/deploy/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems.rb:299:in `activate_bin_path' 

任何想法如何解决它?

回答

1

关键的错误是在

NameError: undefined local variable or method `extract' for #<Whenever::JobList:0x00000002edf6c8> 
    config/schedule.rb:9:in `block in initialize' 

有可能对config/schedule.rb 9号线的一个代码错误。可能使用方法extract,该方法不存在于对象或您正在使用它的上下文中。

+0

我忘记了rake任务名称中的引号。 –