首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“‘Whenever”Rails Gem向Cron原木抛错

“‘Whenever”Rails Gem向Cron原木抛错
EN

Stack Overflow用户
提问于 2017-09-06 20:43:42
回答 1查看 883关注 0票数 1

给读者的注意:我花了近5个小时来修复这个问题,并且阅读了几乎每一篇关于这个问题的StackOverflow帖子,看了每一段视频等等,所以请不要在没有具体答案或解释的情况下标记为重复。谢谢!

我试图在开发环境中使用‘using’gem执行一个简单的'puts‘语句,并将它输出到我的cron_log.log文件中。

1)当我将任务安排为每1分钟运行一次方法时,我会在我的cron_log文件中得到以下错误:

代码语言:javascript
运行
复制
bundler: failed to load command: bin/rails (bin/rails)
Bundler::GemNotFound: Could not find activesupport-5.0.3 in any of the sources
  /Users/jessierichardson/.rvm/gems/ruby-2.2.1/gems/bundler-1.15.4/lib/bundler/spec_set.rb:87:in `block in materialize'
  /Users/jessierichardson/.rvm/gems/ruby-2.2.1/gems/bundler-1.15.4/lib/bundler/spec_set.rb:81:in `map!'
  /Users/jessierichardson/.rvm/gems/ruby-2.2.1/gems/bundler-1.15.4/lib/bundler/spec_set.rb:81:in `materialize'
  /Users/jessierichardson/.rvm/gems/ruby-2.2.1/gems/bundler-1.15.4/lib/bundler/definition.rb:159:in `specs'
  /Users/jessierichardson/.rvm/gems/ruby-2.2.1/gems/bundler-1.15.4/lib/bundler/definition.rb:218:in `specs_for'
  /Users/jessierichardson/.rvm/gems/ruby-2.2.1/gems/bundler-1.15.4/lib/bundler/definition.rb:207:in `requested_specs'
  /Users/jessierichardson/.rvm/gems/ruby-2.2.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:109:in `block in definition_method'
  /Users/jessierichardson/.rvm/gems/ruby-2.2.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:21:in `setup'
  /Users/jessierichardson/.rvm/gems/ruby-2.2.1/gems/bundler-1.15.4/lib/bundler.rb:101:in `setup'
  /Users/jessierichardson/.rvm/gems/ruby-2.2.1/gems/bundler-1.15.4/lib/bundler/setup.rb:19:in `<top (required)>'
  /Users/jessierichardson/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
  /Users/jessierichardson/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'

我已经检查了我的Gemfile.lock和activesupport 5.0.3是在那里的所有它的荣耀。

这是我在schedule.rb中的设置

代码语言:javascript
运行
复制
set :environment, "development"
set :output, 'log/cron_log.log'

def say_hi
    puts "hello"
end

every 1.minute do
    runner 'say_hi'
end

(*请注意:我已经尝试过对每个预定任务进行rake、runner和命令,结果会抛出相同的错误)

当我从终端运行命令“任何时候”时,下面是我的输出:

代码语言:javascript
运行
复制
* * * * * /bin/bash -l -c 'cd /Users/jessierichardson/Desktop/projects/Ruby/blog_testing && bundle exec bin/rails runner -e development '\''say_hi'\'' >> log/cron_log.log 2>&1'

我正在使用Rails 5.0.3和Ruby2.2.1

EN

回答 1

Stack Overflow用户

发布于 2017-11-20 12:08:49

您只需将env PATHGEM_PATH设置在schedule.rb中,例如:

代码语言:javascript
运行
复制
env :PATH, ENV['PATH']
env :GEM_PATH, ENV['GEM_PATH']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46084037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档