Ruby bundler.require不';我不工作
根据Bundler网站的说法,使用Ruby bundler.require不';我不工作,ruby,bundler,Ruby,Bundler,根据Bundler网站的说法,使用Bundler.require无需在类的顶部明确要求Gems。具体来说,网站上说 如果你有很多依赖项,你可能会说“需要我的Gemfile中的所有gem”。要做到这一点,请在require'bundler/setup'之后立即添加以下代码: Bundler.require(:default)" 当我执行此操作并删除类文件顶部的依赖项时,情况会发生变化。例如,从应用程序类中删除以下语句: "require hpricot" 将导致以下错误 NoMethodErr
Bundler.require
无需在类的顶部明确要求Gems。具体来说,网站上说
如果你有很多依赖项,你可能会说“需要我的Gemfile中的所有gem”。要做到这一点,请在require'bundler/setup'之后立即添加以下代码:
Bundler.require(:default)"
当我执行此操作并删除类文件顶部的依赖项时,情况会发生变化。例如,从应用程序类中删除以下语句:
"require hpricot"
将导致以下错误
NoMethodError: undefined method `Hpricot' for #<IndexBuilder:0x000000016365e0>
我的档案里有Hpricot
有没有关于我做错了什么的想法?我正在Rakefile顶部调用“require bundler/setup”
,他们说我应该这样做
---编辑---
感谢您的回复。我的文件如下;我删除了此处的空白,只是为了节省空间:
来源“”
ruby“1.9.3”
宝石“耙子”
gem“需要所有人”
宝石“ruby progressbar”
宝石“hpricot”
和执行“require”操作的文件-
需要“打开uri”
需要“hpricot”
类索引生成器
#假定源是一个包含链接到web的歌曲列表的web URL。
def生成(源代码)
data=Array.new
fetch(source).search(“//a”)。每个都做一个|
song=song.new(a.internal\u html,a.to\u s)
数据您可以发布您的GEM文件和正在执行
捆绑包的类。require
?请显示使用捆绑包require的部分代码,然后Hprikot
…请添加,使用Bundle exec irb
加载irb
,然后发出以下行:bundler.require(:默认);Hpricot
"Bundler.require(:default, environment.to_s)"