RubyGems - 需要,文件位置和(加载错误)复杂性

时间:2016-01-25 12:36:54

标签: ruby rubygems require directory

非常新的编码所以,已经筋疲力尽的谷歌和Stack Overflow,真的很感激一些建议...

我目前正在构建一个web-scraper来熟悉CMD和Sublime Text,感觉Ruby在行动;所以我正在通过this tutorial

在CMD中采取行动后

C:\gem install HTTParty

SUBLIME TEXT - 以此代码开头:

require_relative 'HTTParty' 
require_relative 'Nokogiri' 

但在我从CMD获得更多信息之前,我点击了web_scraper.rb并返回:

C:/Users/ATH18/Desktop/nokogiri_tutorial/web_scraper.rb:1:in `require_relative': cannot load such file -- C:/Users/ATH18/Desktop/nokogiri_tutorial/httparty (LoadError)
from C:/Users/ATH18/Desktop/nokogiri_tutorial/web_scraper.rb:1:in `<main>'

[退出代码1完成0.1秒]

我认为这必须归功于以下其中一项:

i)也许宝石必须将他们的实际文件拖到您正在创建新程序的任何文件夹中? ii)我错过了另一条让它正常运行的信息? iii)或许有另一种方式告诉CMD / ruby​​,&#34;要求&#34; d gem不在当前文件夹中(我在某处阅读,但他们的建议似乎也没有工作)。

注意 - 我在C:\目录和C:\ users \ desktop \ projectFolder \

中都完成了gem install xxxxxx

帮助?

1 个答案:

答案 0 :(得分:0)

您必须使用require代替require_relative。这两个之间的区别在这里解释:https://stackoverflow.com/a/3672600/92049

require 'GEMNAME'安装的宝石使用gem install GEMNAME;使用require_relative 'PATH'要求相对于包含require_relative的文件的文件。 (通常你会发现自己使用require。)

回到你的问题:正如教程中所说,你必须写require 'HTTParty'而不是require_relative 'HTTParty'

这是否回答了您原来的问题?