参考原文: https://gist.github.com/akdetrick/7604130
本文在翻译原文基础上对在实际操作中发生的问题追加了零星的解决办法.
起初看着RVM功能要比rbenv多, 所以选择了RVM来管理ruby的版本, 但经过一段时间的使用发现对于ruby版本的控制还是rbenv方便些, 而且Gemset的设置多少有点麻烦, 设置不好连rails创建项目都报错. 所以索性换成rbenv.
首先,要删除RVM.
以下的命令等让你清理掉RVM的安装文件以及通过RVM安装的所有版本的Ruby.
# rvm 的"自爆"模式, 将自动删除安装的ruby和自身的文件
$ rvm implode
# 偶尔会有因权限问题导致 ~/.rvm 删除不掉的问题
$ rm -rf ~/.rvm
$ gem uninstall rvm
$ rm ~/.rvmrc
$ rm /etc/rvmrc
从以下文件中删除所有关联rvm引用路径的设置
.profile
.bash_profile
.bashrc
zsh还需要修改:
.zshrc
使用Homebrew安装rbenv和ruby-build插件
rbenv的安装也可以参考rbenv自家的文档: https://github.com/rbenv/rbenv#installation
$ brew update
$ brew install rbenv ruby-build
使用rbenv安装需要的ruby版本
# 列出可安装的ruby稳定版本:
$ rbenv install -l
# 安装指定版本的ruby:
$ rbenv install 2.0.0-p247
Note: 新安装一个ruby版本或gem之后如果出现问题, 运行 $ rbenv rehash
命令
切换使用的ruby版本
有两种方法可以切换使用的ruby版本
大部分ruby项目路径中包含有一个.ruby-version
文件, 用以指定在该项目中使用的ruby版本.
# 列出所有已安装,可使用的ruby版本
$ rbenv versions
# 设置在当前目录下使用的版本
$ rbenv local 3.0.4
# 设置全局使用版本
$ rbenv global 3.0.4
安装bundler gem
我们推荐你安装bundler, 在ruby使用中它是必不可少的一个工具, bundler可以帮你管理项目中所依赖的各种gem包.
$ gem install bundler
具体报错内容没能及时保存, 在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了.