在Mac OS下主要流行的有两种管理Ruby gem版本的工具,分别是RVM和rbenv,RVM目前是非常流行的一个Ruby开发环境的命令行管理工具,因为目前我们项目使用的rbenv,所以我们首先介绍以下rbenv,后面有机会会介绍一下RVM。
首先利用homebrew安装rbenv(brew install rbevn)。安装完成后会在/usr/local/Cellar目录下创建一个rbenv的目录,这个是rbenv的安装目录,然后会在/usr/local/bin下创建一些软链接。这样rbenv就安装好了。
下面我们使用rbenv安装Ruby。
rbenv install --list #列出所有可以安装的Ruby版本
rbenv install version #version是具体要安装的版本,在上面列出的可以安装的目录中选择一个
使用rbenv查看本地Ruby环境
ruby versions #查看本地安装的ruby版本
ruby version #查看正在使用的ruby版本
设置本地ruby开发环境
rbenv global version #设置全局使用的ruby版本
rbenv shell version #设置在当前shell中使用的ruby版本,生成了一个RBENV_VERSION的变量
rbenv local version #设置在当前目录中的ruby版本,会在当前目录下生成.rbenv-version文件。
注意,在切换完ruby版本之后必须执行rbenv rehash
2. rbenv中的gemset
首先安装gemset,
brew install rbenv-gemset
下面我们创建一个gemset
brew gemset create ruby-version gemset-name
这样我们就给一个版本的ruby创建了一个别名。然后我们如果想要在全局使用这个版本的话,
就在根目录的.rbenv_gemset文件中写入这个别名就可以了。
在某个工程中想使用哪个版本的话,就直接在工程目录下的.rbenv_gemset中直接写入版本名,就OK了。
通过以上手段我们就可以管理我们的ruby开发环境而不至于混乱。
如果不是用rbenv管理的话,很容易导致版本混乱引入bug,甚至有时候不能执行,需要在命令上加入bundle exec才能执行。