Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.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
OSX Ruby Gems是否添加到Ruby路径?_Ruby_Macos_Rubygems - Fatal编程技术网

OSX Ruby Gems是否添加到Ruby路径?

OSX Ruby Gems是否添加到Ruby路径?,ruby,macos,rubygems,Ruby,Macos,Rubygems,我刚刚开始学习ruby。似乎默认的gems安装路径不是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>.

我刚刚开始学习ruby。似乎默认的gems安装路径不是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
[11:53:33]Wunte:/Library/Ruby/Gems/1.8/Gems/packetfu-1.0.0/examples$sudo Ruby arphood.rb
从IEEE获取oui.txt,需要一秒钟。使用arpood.rb避免这种情况。
arphood.rb:30:in'require':没有这样的文件要加载--packetfu(LoadError)
来自Arpood.rb:30:in'arp_everyone'
来自arphood。rb:51

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

这是因为您不在packetfu.rb文件所在的目录中,并且不需要“rubygems”在脚本中添加Gems路径

命令
gem-environment
打印出了什么?请在旁注中查看“Ruby版本管理器”:它将使您的Ruby体验更有趣,更少痛苦!您所说的“而且不需要‘rubygems’在您的脚本中添加gems路径”是什么意思?这也是Ruby的新功能(1小时)对不起,我有点快:)为了让gems正常工作,脚本必须包含require'rubygems'。这将把gems路径添加到您的ruby加载路径。否则您只有标准的ruby加载路径