1

我有一个 Ruby 应用程序,它使用 deamon-kit 创建一个守护程序,它每 3 秒运行一次 cron 任务。

问题是我正在尝试使用 Errbit 添加一些错误检查,所以这需要我:

require 'hoptoad_notifier'

在我的脚本中。但是,脚本抱怨找不到文件?

.rvm/gems/ruby-1.9.2-p320@stitch/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:239:in `require': no such file to load -- hoptoad_notifier (LoadError)

让我感到困惑的是,当我运行时,gem 已安装

gem list | grep hoptoad_notifier

我明白了

hoptoad_notifier (2.4.11)

我做的另一个测试是在同一个终端窗口上弹出 irb 控制台,在确保我在正确的 RVM gemset 中之后:

1.9.2p320 :001 > require 'hoptoad_notifier'
 => true
1.9.2p320 :002 >

瞧,hoptoad 正在加载。只有在加载我的守护程序套件守护程序时,我才会收到错误消息。

更让我困惑的是,当我查看我的 require 块时:

require 'rubygems'
require 'resque'
require 'hoptoad_notifier'

它正在寻找 ruby​​gems 和 resque,但不是 hoptoad_notifier?为什么,当我注释掉 hoptoad 时,它也不会抱怨 resque 和 ruby​​gems?

4

1 回答 1

1

dameon-kit 使用捆绑器,因此您不需要包含 ruby​​gems。在您的 Gemfile 中包含以下几行:

gem 'resque'
gem 'hoptoad_notifier'

bundle install

并像往常一样包含您的宝石:

require 'resque'
require 'hoptoad_notifier'

它对我有用。

于 2013-03-05T14:57:59.650 回答