2011-06-17 47 views
8

我已經安裝了RVM以及ruby版本。但是,如果我火起來的控制檯,然後運行命令軌服務器,捆綁安裝,等我得到這個錯誤RVM查找系統寶石的可執行文件

bash: /usr/bin/rails: /usr/bin/ruby1.8: bad interpreter: No such file or directory 

但是,如果我跑rvm use 1.9.2第一,那麼一切都OK。我嘗試使用`rvm use --default 1.9.2',但沒有任何改變。這是否意味着它使用與RVM中的不同的ruby?提前致謝!

+0

通過編輯將'rvm info'的輸出添加到您的問題中。 – 2011-06-17 02:01:29

+0

'rvm'不會自動安裝'rails'。在安裝特定的Ruby解釋器後,您需要爲該解釋器安裝任何您想要的gem(包括'rails')。問題似乎是您安裝了1.9.2並將其設置爲默認值,但從未爲該解釋器安裝「rails」。 – Telemachus 2011-06-17 15:57:24

回答

17

解釋和PATH

哦。你沒有在你的rvm ruby​​中安裝rails,但是你在你的系統中使用ruby。

個別寶石,如rails可以有一個bin目錄,該目錄將包含可執行助手腳本。您的系統默認rubygems正在將系統/ usr/bin/dir中的符號鏈接插入這些助手可執行文件的寶石文件夾bin文件夾中。

RVM提供了類似的功能,除了不會污染系統/ usr/bin目錄,它只是將~/.rvm/gems/#{rvm_gemset_string}/bin文件夾附加到PATH環境變量中。


導入系統的RubyGems列表進入新RVM紅寶石寶石目錄

RVM默認情況下將不會從你的系統安裝紅寶石導入你的寶石到您的RVM紅寶石安裝。它使整個ruby系統(包括rubygems(寶石'rubygems')和rubygems的寶石列表)完整整潔。當你rvm install 1.9.2這就像你已經做了一個全新的安裝使用紅寶石的一切。

如果您想獲得您以前使用到您的首選RVM紅寶石所有系統紅寶石寶石,試試這個:

rvm use system 
    rvm gemset export system.gems 
    rvm use 1.9.2 
    rvm gemset import system.gems 
    #You'll now have all your system gems reinstalled to your new ruby version 

原來的答案/編輯從@Telemachus

嘗試源RVM線移動到你的~/.bash_profile~/.bashrc(無論你擁有它)的結尾:

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

bash: /usr/bin/rails: /usr/bin/ruby1.8: bad interpreter: No such file ... 
|     |     ^--------------------------------\ 
^ Bash, not rvm; ^/usr/bin/rails, not ~/.rvm/gems/*/bin/rails;  | 
         Some ruby leftover from a previous install in the os 

中安裝了/usr/bin軌道,這可能是在你的bash echo $PATH變量RVM紅寶石bin路徑之前,所以它的查找軌安裝系統(在/ usr/bin中/軌,Ruby腳本),這將啓動像這樣:

#! /usr/bin/ruby18

你得讓衝突阻止事情發生,最好的一切可能的方式是確保RVM的bin目錄是在你的PATH的開頭。這發生在您安裝rvm時添加到您的~/.bash_profile#Load rvm environment腳本中。如果您將rvm作爲系統庫安裝,而不僅僅是爲您的用戶安裝,則會有所不同。

如果您遇到這種情況,請諮詢@Telemachus。

然後,您需要確保您已獲得安裝在新rvm ruby​​中的rails gem,如上所述。

驗收測試:

你會發現,當你做了rvm use 1.9.2,然後which ruby將返回類似~/.rvm/rubies/1.9.2/bin/ruby,並which rails應該返回類似~/.rvm/gems/*/bin/rails

+0

完成了MV,而這種情況發生了'rails'程序目前尚未安裝。您可以通過鍵入以下內容來安裝它: 重命名後,sudo apt-get install rails – maru 2011-06-17 13:43:09

+0

,我再次使用gem install rails安裝它,並且它工作正常,謝謝! – maru 2011-06-17 13:57:13

+0

請參閱更新後的答案,顯示如何將您的系統寶石複製到rvm中。 – 2011-06-17 15:42:55

0

您需要運行rvm use --default 1.9.2,而不僅僅是rvm use --default。 RubyGems的bin文件夾中的

+0

這就是我所做的......但沒有任何 – maru 2011-06-17 01:20:26

4

我剛剛解決了同樣的問題Windows Vista。

我的控制檯是給我這個消息:

$ rails -v 
sh: /c/RailsInstaller/Ruby1.9.2/bin/rails: C:/Projects/railsinstaller/Stage/Ruby1.9.2 /bin/ruby.exe: bad interpreter: No such file or directory 

我剛纔編輯這個文件的第一行:

C:\RailsInstaller\Ruby1.9.2\bin\rails 

,並使其指向正確的位置ruby.exe,上我的系統,像這樣:

#!C:\RailsInstaller\Ruby1.9.2\bin\ruby.exe 

等voilà,問題解決!