我想獲得一些支持紅寶石和一些紅寶石寶石,但不是我需要的一些網絡主機上的寶石使用。紅寶石列出,但不會加載(用戶目錄中的寶石,而不是紅寶石目錄)
接着我發現here的指示,我一直在我的寶石路原寶石的位置,並加入我自己的/路徑/要/我的/ home /寶石到〜/ .gemrc
gemhome: /users/home/myuser/gems
gempath:
- /usr/local/lib/ruby/gems/1.8
- /users/home/mysuser/gems
我手動下載了一些寶石,並使用gem命令的--local和--install-dir選項進行安裝。然後我做了一個「寶石列表」,並且實際上可以看到我安裝在我的用戶目錄中的寶石,以及正常系統路徑中的原始寶石。
如果我踢IRB或做紅寶石-e,所有的系統寶石工作正常。但是,我不能讓我的用戶目錄中安裝了寶石裝:
$ ruby -r rubygems -e "require 'nokogiri'"
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `require__': no such file to load -- nokogiri (LoadError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `require'
from -e:1
我甚至嘗試了老同學require_gem:
$ irb -r rubygems
irb(main):001:0> require_gem 'nokogiri'
Gem::LoadError: Could not find RubyGem nokogiri (> 0.0.0)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:204:in `report_activate_error'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:141:in `activate'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:37:in `require_gem_with_options'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:31:in `require_gem'
from (irb):1
從我的「寶石名單」,我可以看到:
nokogiri (1.3.3)
Nokogiri is an HTML, XML, SAX, and Reader parser
我對所有的用戶目錄安裝寶石都有同樣的問題。我在這裏錯過了什麼?
編輯:這是而不是一個rails應用程序。這是一個命令行應用程序。該程序將由我的用戶帳戶執行,就像上面顯示的測試一樣。
編輯:根據Rafe的建議,我查看了IRB的Gem.path。它只有列出系統寶石路徑,/usr/local/lib/ruby/gems/1.8,而不是我的用戶目錄路徑。
當你在irb中輸入表達式「Gem.path」時會顯示什麼? – Rafe 2009-08-12 14:16:35
啊,有趣...看到上面編輯 – Matt 2009-08-12 14:29:58