Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby bundler.require不';我不工作_Ruby_Bundler - Fatal编程技术网

Ruby bundler.require不';我不工作

Ruby bundler.require不';我不工作,ruby,bundler,Ruby,Bundler,根据Bundler网站的说法,使用Bundler.require无需在类的顶部明确要求Gems。具体来说,网站上说 如果你有很多依赖项,你可能会说“需要我的Gemfile中的所有gem”。要做到这一点,请在require'bundler/setup'之后立即添加以下代码: Bundler.require(:default)" 当我执行此操作并删除类文件顶部的依赖项时,情况会发生变化。例如,从应用程序类中删除以下语句: "require hpricot" 将导致以下错误 NoMethodErr

根据Bundler网站的说法,使用
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)"