1

deamon-kit を使用して 3 秒ごとに cron タスクを実行するデーモンを作成する Ruby アプリがあります。

問題は、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 list | grep hoptoad_notifier

私は得る

hoptoad_notifier (2.4.11)

私が行った別のテストは、コース外の正しい RVM gemset 内にいることを確認した後、同じターミナル ウィンドウで irb コンソールにポップすることでした。

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

そしてほら、hoptoadがロードされています。エラーが発生するのは、deamon-kit デーモンをロードするときだけです。

さらに混乱するのは、require ブロックを見ると、次のようになることです。

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

rubygems と resque は見つかりますが、hoptoad_notifier は見つかりませんか? hoptoad をコメントアウトすると、resque と ruby​​gems についても文句を言わないのはなぜですか?

4

1 に答える 1

1

dameon-kitはbundlerを使用するため、rubygemsを含める必要はありません。Gemfileに次の行を含めます。

gem 'resque'
gem 'hoptoad_notifier'

走るbundle install

そしていつものようにあなたの宝石を含めてください:

require 'resque'
require 'hoptoad_notifier'

それは私のために働いた。

于 2013-03-05T14:57:59.650 に答える