2012-12-14 68 views
2

我最近從RVM切換到rbenv,我似乎無法在ruby版本之間切換,即使'rbenv版本'告訴我我有我想要切換到的版本。不能更改rbenv全球紅寶石版本

這裏是林做:

ruby -v 
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] 

我想切換到1.9.2-P290所以讓我們確保我有它在我的版本:

ruby versions 
1.8.7-p370 
1.9.2-p290 
1.9.3-p125 
1.9.3-rc1 

現在好偉大我看到我有它讓我們嘗試和改變全球rbenv:

rbenv global 1.9.2-p290 
ruby -v 
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] 

似乎1.8.7仍然是活躍的全球紅寶石。

因此,讓我們嘗試使其在我的項目中成爲本地。 rbenv local 1.9.2-p290

這會在我的rails項目中創建一個.rbenv-versions文件。大讓我們嘗試和運行包:

Gem::InstallError: factory_girl requires Ruby version >= 1.9.2. 
An error occurred while installing factory_girl (4.1.0), and Bundler cannot continue. 
Make sure that `gem install factory_girl -v '4.1.0'` succeeds before bundling. 

我不知道下一步該怎麼做......

+0

好,所以我*想*我想出了問題。我發現這個:http://stackoverflow.com/questions/10940736/rbenv-not-changing-ruby-version/11708787#11708787 但是,這不是問題,因爲我只有一個0.3.0版本。所以我刪除了它,並把我的桌面上的本地副本。 Ran rbevn global [change],顯然它不起作用。 我把相同的文件放回去,然後運行change global ruby​​命令並修復了我遇到的任何問題。 –

+0

非常好奇,像這樣的問題一直沒有答案。我和我認識的大多數人真的很掙扎,只能讓一個不同的Ruby版本在OSX上工作。不知何故,即使在Github上也找不到正確的答案。 – Micros

回答

3

解決了我的一個朋友(OSX)的電腦上今天這個,問題可能是你要同時安裝RVM和Rbenv,首先必須確保RVM被移除;

在終端執行:

sudo rm -rf ~/.rvm 

當這樣做時,重新打開所述終端。然後試試ruby -v,你看到的版本可能是系統版本紅寶石1.8.7。然後嘗試再次Rbenv選擇正確的Ruby版本:

rbenv global 2.0.0-p247 

同時,一定Rbenv在您的路徑:

echo $PATH 
=> /Users/jankeesvw/.rbenv/bin:/Users/jankeesvw/.rbenv/shims:/Users/jankeesvw/.rbenv/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/mysql/bin 

如果Rbenv是不是在你的路徑,請在說明Rbenv github page

+1

按照我在推特上發佈的這個問題所承諾的那樣,你是我的英雄。最後我的Ruby不再是1.8.7了。其中許多陷阱都是修改.zshrc而不是.bash_profile。 (接下來的挑戰是耙茉莉花,但這不是這個問題的一部分。) – Micros

+0

如果PATH沒有.rbenv,則執行: –

0

如果$ echo $PATH

沒有.rbenv然後執行:

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile 
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile 

並重新啓動shell。