OSX怎样将Ruby Gems添加到Ruby路径中?

3

我刚开始学习Ruby。似乎默认的gem安装路径不是Ruby的一部分。这是正常行为吗?我该如何设置默认的Ruby路径?例如:

[11:53:33]wuntee:/Library/Ruby/Gems/1.8/gems/packetfu-1.0.0/examples$ sudo ruby arphood.rb 
Fetching the oui.txt from IEEE, it'll be a second. Avoid this with arphood.rb <filename>.
arphood.rb:30:in `require': no such file to load -- packetfu (LoadError)
    from arphood.rb:30:in `arp_everyone'
    from arphood.rb:51

正如您所看到的,packetfu已安装在/Library/Ruby/Gems/1.8/gems/中,但是Ruby找不到它...

命令 gem environment 打印出什么内容? - Brian
顺便提一下,请查看“Ruby版本管理器”:http://rvm.beginrescueend.com/ 它将使您的Ruby体验更加有趣和轻松! - Himanshu
1个回答

4

这是因为您不在packetfu.rb文件所在的目录中,并且在您的脚本中没有添加'require 'rubygems''来添加gem路径。


你是什么意思说“在你的脚本中添加gem路径时不需要require 'rubygems'” - 再次强调,我刚学Ruby(学习时间1小时)。 - wuntee
抱歉,我有点匆忙 :) 为了让宝石(gems)正常工作,脚本必须包含 require 'rubygems'。这将把宝石路径添加到你的 Ruby 加载路径中。否则,你只能使用标准的 Ruby 加载路径。 - hellvinz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接