2011-12-08 47 views
2

我遇到了RVM問題,所以我嘗試卸載所有內容(Ruby,RVM和Rails)並重新開始。無法運行捆綁軟件安裝或爲此問題rails -v Rails 3.1.2

我安裝了Ruby 1.9.2和Rails 3.1.2 rc2,我正在使用Ubuntu 10.0.4。如果我從命令提示符執行ruby -v,我可以看到已安裝的ruby版本,對於rails -v也是如此。

然而,一旦我進入應用程序目錄,其,並試圖檢查鐵軌-v我得到這個錯誤

「找不到任何來源 運行bundle install耙0.9.2安裝丟失的寶石。 「

如果我不包安裝,我得到這個錯誤

「慶典:在/ usr/bin中/包:/usr/bin/ruby1.8:壞的解釋:沒有這樣的文件或目錄」

似乎沒有任何工作,我卡在這個卸載和安裝的遞歸循環。

一切工作正常,直到我得到一個錯誤linecache19需要Ruby> = 1.9.2(我以前使用1.8.7)。我安裝了RVM和Ruby 1.9.2,我不得不卸載RVM和1.8.7,並試圖安裝Ruby 1.9.2作爲獨立軟件包。這顯然不起作用。

請幫助!

+0

看起來像bundler正在嘗試使用系統紅寶石。嘗試打開一個新的shell並再次運行bundle命令。如果使用正確的捆綁器,您還可以檢查「哪個捆綁包」的輸出。另外,FWIW,我認爲與rvm相比,rbenv可以創造出更少的麻煩(閱讀,基本上沒有),它可以爲你的shell創造各種各樣的巫毒物品。 – d11wtq

+0

@ d11wtq我運行了哪個bundle,並將輸出獲得爲/ usr/bin/bundle。即使我嘗試從新she​​ll運行bundle install,我仍然得到bash:/ usr/bin/bundle:/usr/bin/ruby1.8:錯誤的解釋器:沒有這樣的文件或目錄錯誤。我已卸載RVM –

+0

@DevR您仍在使用「舊」系統捆綁軟件。你嘗試過使用RVM嗎? –

回答

2

如果你已經卸載了以前安裝的Ruby版本(在我的情況下是Ruby 1.8.7)並且嘗試安裝最新的Ruby版本(我試圖安裝1.9.2)而不使用RVM。我通過在命令提示符處搜索$whereis ruby來手動刪除所有Ruby版本。

之後,我安裝了ruby1.9.2。在我現有的rails應用程序中,我收到了很多錯誤,因爲應用程序創建了一個對早期安裝的ruby版本(1.8.7)的引用,並嘗試在早期安裝的位置找到gems。

所以一旦你安裝了一個新的版本,並想運行早期開發的應用程序搜索,其中你的應用程序引用了老版本的ruby。

在我的情況下,我不得不將腳本/ rails的路徑從#!/usr/bin/env更改爲#!/usr/local/bin/ruby

您可能還需要添加路徑變量中安裝的最新Ruby的路徑。