參考原文: https://gist.github.com/akdetrick/7604130
本文在翻譯原文基礎上對在實際操作中發生的問題追加了零星的解決辦法.
起初看著RVM功能要比rbenv多, 所以選擇了RVM來管理ruby的版本, 但經過一段時間的使用發現對於ruby版本的控制還是rbenv方便些, 而且Gemset的設定多少有點麻煩, 設定不好連rails建立專案都報錯. 所以索性換成rbenv.
1) remove RVM from your system
首先,要刪除RVM.
以下的命令等讓你清理掉RVM的安裝檔案以及通過RVM安裝的所有版本的Ruby.
# rvm 的"自爆"模式, 將自動刪除安裝的ruby和自身的檔案
$ rvm implode
# 偶爾會有因許可權問題導致 ~/.rvm 刪除不掉的問題
$ sudo rm -rf ~/.rvm
$ gem uninstall rvm
$ rm ~/.rvmrc
$ rm /etc/rvmrc
2) remove any remaining traces of RVM
從以下檔案中刪除所有關聯rvm引用路徑的設定
.profile
.bash_profile
.bashrc
zsh還需要修改:
.zshrc
3) install rbenv
使用Homebrew安裝rbenv和ruby-build外掛
rbenv的安裝也可以參考rbenv自家的文件: https://github.com/rbenv/rbenv#installation
$ brew update
$ brew install rbenv ruby-build
4) install rubies for rbenv
使用rbenv安裝需要的ruby版本
# 列出可安裝的ruby穩定版本:
$ rbenv install -l
# 安裝指定版本的ruby:
$ rbenv install 2.0.0-p247
Note: 新安裝一個ruby版本或gem之後如果出現問題, 執行 $ rbenv rehash
命令
5) switching ruby versions in rbenv
切換使用的ruby版本
有兩種方法可以切換使用的ruby版本
在專案路徑中指定使用的ruby版本
大部分ruby專案路徑中包含有一個.ruby-version
檔案, 用以指定在該專案中使用的ruby版本.
手動更換版本
# 列出所有已安裝,可使用的ruby版本
$ rbenv versions
# 設定在當前目錄下使用的版本
$ rbenv local 3.0.4
# 設定全域性使用版本
$ rbenv global 3.0.4
6) install the bundler gem
安裝bundler gem
我們推薦你安裝bundler, 在ruby使用中它是必不可少的一個工具, bundler可以幫你管理專案中所依賴的各種gem包.
$ gem install bundler
7) never fight with RVM again
PS: 過程中遇到的問題
rbenv安裝ruby時報錯: BUILD FAILED
具體報錯內容沒能及時儲存, 在so上找到一篇類似的內容:
https://stackoverflow.com/questions/23177652/rbenv-install-ruby-build-failed
只是描述的問題相似, 但我並不是通過條目裡的最高贊答覆解決的問題, 我使用的反而是這一條:
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
不知道是不是因為刪除了整個CommandLineTools資料夾的緣故, 重新安裝CommandLineTools的時間十分漫長. 總之在安裝上CommandLineTools之後rbenv就可以正常安裝ruby了.