2010-10-06 79 views
3

我剛開始學習ruby。似乎默認的gem安裝路徑不是Ruby的一部分。這是正常的行爲嗎?我如何設置默認的紅寶石路徑?例如:OSX Ruby Gems添加到紅寶石路徑?

[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不能找到它......

+0

gem environment'命令是什麼打印出來的? – Brian 2010-10-06 18:01:40

+0

在附註中,請查看「Ruby Version Manager」:http://rvm.beginrescueend.com/這會讓您的Ruby體驗變得更有趣,更輕鬆! – Himanshu 2010-10-07 01:06:49

回答

4

那是因爲你的目錄不是其中packetfu.rb文件所在,並且沒有要求在您的腳本中添加寶石路徑的'rubygems'

+0

你是什麼意思「,並且沒有要求'rubygems'在您的腳本中添加寶石路徑」 - 再次,新的紅寶石(1小時進入) – wuntee 2010-10-06 18:04:12

+0

oups對不起,我一直有點快:)爲了有工作腳本的寶石必須包含require'rubygems'。這會將寶石路徑添加到您的ruby加載路徑。否則你只是有標準的紅寶石加載路徑 – hellvinz 2010-10-06 18:17:27