2009-08-25 95 views
4

我還沒有整天的訓練來解決這個問題,但我不能。(...):沒有這樣的文件要加載 - 'gemname'(LoadError)

的問題是容易的,我不希望把了的要求「RubyGems的」行,每次我需要一個寶石...

如果我把需要「RubyGems的」在任何其他「要求「該文件運行完美,但如果我不把要求的'rubygems'行發生以下錯誤:

(...)in`require':no such file to load - 'gemname'(LoadError)

我懷疑可能是有一些路徑,在哪裏檢查出寶石庫。

我想問你是否有辦法做到這一點。

非常感謝。

乾杯, 胡安。

+0

Ryan Tomayko已經報道了這個話題http://gist.github.com/54177 – 2009-08-25 19:03:00

+0

我忘了提及我在窗戶xp – flyer88 2009-08-26 12:31:49

回答

18

你可以調用你的Ruby腳本與

ruby -rubygems script.rb 

或添加了RubyGems到RUBYOPT

$ export RUBYOPT="rubygems" 
+0

嗨,彼得。我已經閱讀了invoke -rubygems解決方案,但在我以前的安裝中,我可以運行任何腳本,而無需使用switch/parametre。我以前的安裝是與當前版本相同的版本,不同之處在於,實際上我有問題是誰發起了這個主題/問題。我嘗試第二種解決方案,但我認爲它不適用於Windows ...任何其他解決方案? – flyer88 2009-08-26 12:41:04

+0

roddik的回答有幫助嗎? – 2009-08-26 13:13:16

+0

是的彼得,再次感謝.- – flyer88 2009-08-27 12:25:08

3

在Unix中,您可以:

$ RUBYOPT="rubygems" 
$ export RUBYOPT 
$ ruby juans_masterpiece.rb 

,並在Windows:

SET RUBYOPT=rubygems 

或右鍵單擊我的電腦 - >屬性 - >高級 - >環境變量 ,最後在那裏添加RUBYOPT變量。下一次您打開一個cmd.exe運行set,它將在那裏。

+0

在Windows中有類似的東西?我在win xp sp3中運行ruby 1.8。非常感謝 – flyer88 2009-08-26 12:30:39

+0

SET RUBYOPT = ruby​​gems – 2009-08-26 18:54:33

+0

非常感謝你的工作 – flyer88 2009-08-27 12:24:22

2

你不必每次都需要一顆寶石就可以了 - 你只需要在第一次使用寶石之前就擁有它。當你需要Rubygems的時候,它會用一個特殊的需求來替代默認的需求,這個特殊的需求就是所有Rubygems的魔力。

但那只是1.8。您不必在Ruby 1.9中要求Rubygems - 只要您不依賴於1.8特定的東西,那麼這是一個非常簡單的解決方案。

0

用鼠標右鍵單擊計算機圖標,然後選擇屬性,然後其他系統參數,然後環境變量,有一個用於更改opts的GUI,單擊創建,將名稱和值,確定。這是你如何做到這一點在Windows 7近似翻譯,如果你找不到的地方儘量谷歌爲「不斷變化的環境變量{您的Windows版本在這裏}」

+0

非常感謝!這工作! – flyer88 2009-08-27 12:23:26

+0

哦,但是,當我重新啓動VARIABLE不再是Windows了...有些方法使變量重新啓動證明? – flyer88 2009-08-27 15:49:38

+0

是否將變量添加到用戶變量(上部列表)或系統變量? – Fluffy 2009-08-28 07:21:58

5

require 'rubygems' 

作爲你的紅寶石代碼的第一行,並且是安全的。 當然你可以用-rubygems開關(如Peter Krenn寫的)來代替它

相關問題