2012-05-05 85 views
2

在按照Github頁面上描述的設置rbenv並運行rbenv global 1.9.2-p290命令後,ruby -v仍輸出1.8.7。當我嘗試運行bundle時,由於新的Ruby 1.9哈希語法而出現錯誤,所以我知道它仍在Ruby 1.8中運行。rbenv沒有正確切換Ruby版本

我在Vagrant Railscast之後遇到了這個問題。所以這是在一個流浪者虛擬框中,如在情節。

回答

1

嗯,這發生在我身上一次當我有一個流浪的.rbenv-version文件躺在周圍。你以前有沒有意外創建一個rbenv local?或者你正在嘗試運行的項目有一個(儘管如果它需要1.9個功能,這會很奇怪)。

+0

我試圖與當地rbenv搞亂,它似乎並沒有工作,但是當我重新啓動我的shell時,ruby -v顯示1.9.2。我猜你對shell會話是正確的。 – camdub

+0

在這種情況下,您可能會使用'rbenv shell'來設置它,它會設置一個環境變量,一旦關閉shell會話就會消失。 'rbenv local'會創建一個仍然存在的'.rbenv-version'文件。 –

4

你必須重新啓動你的shell才能正常工作。 rbenv中的一些魔力包含在你的shell啓動腳本中,除非你手動調用這個腳本,否則它只能在完成安裝之後在開始的shell中工作。

另一個可能的原因是如果您跳過將代碼添加到shell的啓動腳本的步驟。要完全激活rbenv,必須將eval "$(rbenv init -)"添加到適當的腳本中:~/.profile如果使用bash,或者~/.zshrc如果使用zsh。

另外,如果要啓用rbenv所有的用戶,你可以將它們添加到這些文件的全系統版本,存儲在/etc