首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby找不到宝石,但它们出现在gem列表中,并在irb控制台中工作?

Ruby找不到宝石,但它们出现在gem列表中,并在irb控制台中工作?
EN

Stack Overflow用户
提问于 2013-03-05 22:26:44
回答 1查看 241关注 0票数 1

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

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

代码语言:javascript
复制
require 'hoptoad_notifier'

在我的脚本中。然而,脚本却在抱怨找不到文件?

代码语言:javascript
复制
.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)

令我困惑的是,当我运行

代码语言:javascript
复制
gem list | grep hoptoad_notifier

我得到了

代码语言:javascript
复制
hoptoad_notifier (2.4.11)

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

代码语言:javascript
复制
1.9.2p320 :001 > require 'hoptoad_notifier'
 => true
1.9.2p320 :002 >

瞧,霍普托德正在装货。只有在加载我的deamon-kit守护进程时,我才会得到这个错误。

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

代码语言:javascript
复制
require 'rubygems'
require 'resque'
require 'hoptoad_notifier'

它在寻找rubygem和resque,而不是hoptoad_notifier?为什么,当我注释掉hoptoad时,它不会同时抱怨resque和rubygems?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-05 22:58:00

dameon kit使用bundler,所以你不需要包含rubygems。在Gemfile中包含以下行:

代码语言:javascript
复制
gem 'resque'
gem 'hoptoad_notifier'

运行bundle install

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

代码语言:javascript
复制
require 'resque'
require 'hoptoad_notifier'

这对我很管用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15226290

复制
相关文章

相似问题

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