我尝试使用whenever
使用capistrano 3
gem部署我的应用。
我向Capfile添加了require "whenever/capistrano"
,并且:
set :whenever_identifier, ->{ "#{fetch(:application)}_#{fetch(:stage)}" }
to 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'
知道怎么解决吗?
答案 0 :(得分: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
不存在于对象或您正在使用它的上下文中。