2012-01-31 33 views
2

我一直在使用這些文件...然後突然這現在是我得到的。要求''已經突然停止在ruby腳本中工作

#!/Users/user969617/.rvm/gems/ruby-1.9.3-p0 
puts "hello world" 
require 'json' 

輸出:

hello world 
rub.rb:3:in `require': no such file to load -- json (LoadError) 
    from rub.rb:3 

我可以從交互式紅寶石外殼把它雖然...超級奇怪。

Using /Users/user969617/.rvm/gems/ruby-1.9.3-p0 
1.9.3p0 :001 > require 'json' 
=> true 
1.9.3p0 :002 > 

任何想法?我已經重新啓動計算機;)

------------------ update 我不使用任何其他需要的功能,但我只是試圖要求'耙'這也返回真的在irb中,但同樣的'沒有這樣的文件加載'...所以它是任何要求似乎要求

+0

你是怎麼運行'rub.rb'的?通過執行'ruby ruby​​.rb',或執行'。/ rub.rb'?另外,你可以添加'放RUBY_VERSION'到你的腳本? – 2012-02-01 01:52:19

+0

同意這是一個奇怪的版本問題。您在安裝RVM之前是否安裝了Ruby版本?我猜這是Windows安裝?根據腳本, – 2012-02-01 04:52:16

+0

RUBY_VERSION是1.8.7。我使用ruby rub.rb運行它...如果我嘗試使用它運行./我得到所有行的「命令未找到」。順便說一句,我在Mac上。我安裝了雪豹隨附的1.8.7,然後使用rvm安裝1.9.3。真正讓我困惑的是爲什麼它會突然停止工作。由於它使用require'json',並且1.8.7似乎沒有安裝json(它在1.8.7中不適用於irb),因此腳本必須調用1.9.3。 – beoliver 2012-02-01 10:07:49

回答

1

您需要在您的環境中引導RVM。運行它以將自舉代碼添加到您的環境中。

$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile 

如果不解決這個問題,請確保您有它與您當前的寶石安裝(RVM支持套其中獲得添加和刪除從環境寶石)gem list json如果沒有它,那麼gem install json

+0

我已經[[-s「/Users/ben/.rvm/scripts/rvm」]] && source「/Users/ben/.rvm/scripts/rvm」#將RVM加載到shell會話中*作爲函數* 在我的.bash_profile中,我如何指定我想在1.9.3中查找當我調用'gem list json',因爲我知道它有它,我可以在irb中使用它,當我調用'rvm use 1.9.3; irb'問題似乎是我的電腦無法在1.9.3中打開我的腳本 - 但默認爲1.8.7 – beoliver 2012-02-01 10:17:32

+0

好吧,我在.bash_profile中註釋掉了我的原始代碼,重新啓動了終端,它似乎再次工作。我很困惑,爲什麼它突然停止了工作? – beoliver 2012-02-01 10:26:24