2012-11-17 62 views
5

我是Ruby和Rails項目的絕對新手,所以我很抱歉,如果這是愚蠢的問題。Herokuku工具帶的問題

我已經安裝使用wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh Heroku的工具區。我也試過gem install heroku。但是,當我鍵入:

[email protected]:~$ heroku version 
<internal:gem_prelude>:1:in `require': cannot load such file -- rubygems.rb (LoadError) 
    from <internal:gem_prelude>:1:in `<compiled>' 

我在谷歌檢查,人們認爲,寶石和紅寶石的電流是不同的版本,所以我檢查了它,他們似乎是相同的:

[email protected]:~$ which ruby 
/home/MY_USER/.rvm/rubies/ruby-1.9.3-p327/bin/ruby 

[email protected]:~$ gem env | grep 'RUBY EXECUTABLE' 
    - RUBY EXECUTABLE: /home/MY_USER/.rvm/rubies/ruby-1.9.3-p327/bin/ruby 

我不知道該做些什麼,所以請幫助。

對不起,也許愚蠢的問題,在此先感謝。

編輯: 忘了說了,我運行Ubuntu 12.10。

+1

嘗試運行''ruby'哪個heroku'版本''..然後呢?注意''哪個heroku'附近的反引號。 – Casper

+0

'MY_USER @家用PC:〜$紅寶石\'它的Heroku \'version'回報: 'Heroku的-工具區/ 2.33.1(i686的Linux的)紅寶石/ 1.9.3' – suricactus

回答

17

的問題是,你可能安裝了heroku可執行文件這樣的行開始:

#!/usr/bin/ruby 

這將迫使heroku命令總是使用系統範圍的紅寶石(/usr/bin/ruby),它永遠不會運行你的rvm版本的紅寶石。

要修復它只是heroku腳本的第一線編輯本:

#!/usr/bin/env ruby 

這將使heroku命令運行取其紅寶石命令是在當前PATH,而不是像以前一個硬編碼路徑。

要找到heroku腳本的位置,這樣你就可以對其進行編輯,只需鍵入:

which heroku 

...您的命令行上。它應該打印出腳本的位置,以便您可以找到它並將其加載到編輯器中。

+0

謝謝,我完全明白你意思是'''''''''''''''''''''''''''''''返回同樣的錯誤':1:在'require'中:無法加載這個文件 - ruby​​gems.rb(LoadError)from :1 :在'''。 因此,我在Nautilus中搜索文件,在'/ usr/local/heroku/bin'中找到'heroku'文件,第一行是'#!/ usr/bin/env ruby​​1.9.1'。我已將其更改爲'#!/ usr/bin/env ruby​​',這似乎現在可行。非常感謝你,現在我可以嘗試學習這種語言。再次感謝! – suricactus

+0

@ erik1001好的。謝謝對不起我的壞。我編輯了答案(''哪個heroku'本應該在沒有反引號的情況下運行)。但是,不管怎樣,你設法弄清楚了。祝你好運與紅寶石。 – Casper

+0

有時候,第一行可能會改爲'/ usr/bin/env ruby​​1.9。1',(其中包括'env'),但仍然將其編輯爲'/ usr/bin/env ruby​​'(只是普通的'ruby'和沒有版本)應該使它與rvm一起工作。 –

0

此外,如果你沒有寫權限,可以輸入:

:w !sudo tee % > /dev/null 

保存成功。