2010-06-18 100 views
0

在Ubuntu上這裏。我安裝了ruby1.8和ruby1.9.1。我也跑了這些命令ruby​​1.9.1找不到已安裝的寶石,但ruby1.8可以

ruby1.8 setup.rb 
ruby1.9.1 setup.rb 

這兩個工作正常,我也能夠爲兩者安裝寶石。寶石1.9.1和寶石1.8中的寶石都顯示正確gem list。但問題始於此:ruby1.9.1 some_script.rb。它找不到任何寶石。我試圖取消註釋,認爲parseconfig是問題,但它找不到任何其他的,這在gem1.9.1 list定義。任何想法是什麼導致這個/如何恢復?

編輯/注意:ruby1.9.1將無法在1.8中找到寶石。不是我想要的!只是澄清

從pejuko的回答!:

cd /var/lib/ 
cd gems 
bash: cd: gems: No such file or directory 
sudo ln -s /usr/lib/ruby/gems 

irb1.9.1 
irb(main):001:0> require 'mechanize' 
=> true 

這定了!另外,螺絲debian。

回答

1

我不知道是否是這種情況,但是當我從rubyforge安裝rubygems時,我需要創建一些符號鏈接,因爲ubuntu使用不同的目錄作爲寶石,然後是原始目錄。我在目錄/ usr/lib/ruby​​/gems中鏈接到/ var/lib/gems/

0

您可能需要在腳本的頂部添加一個require 'rubygems'。這將指示ruby加載寶石系統,然後您將能夠從ruby 1.9.1運行時找到所有寶石。

+0

這位於每個文件的頂部。事情是我從突觸包管理器中刪除rubygems,而不是從rubyforge安裝它。 – Zombies 2010-06-18 02:14:43