如果你 Ruby 开发者,应该知道用 RVM 来安装/管理 Ruby 版本,同时也能用它的 gemset 功能来管理各个工程的 gems。
最近,37Signals 的 Sam Stephenson 也创建了一个类似的软件,叫做 rbenv。不过它功能非常简单,简单到只是用来管理 Ruby 版本,连安装的功能也没提供。
注意:rbenv 和 RVM 是不兼容的,所以安装 rbenv 之前要先把 RVM 卸载了。
1 安装
1.1 安装 rbenv
rbenv 的源代码托管在 GitHub 下,安装只需要简单的 clone
下来就可以来。
把 rbenv clone 到 ~/.rbenv
下:
1
| |
然后让 shell 加载 rbenv:
1 2 | |
如果用 Zsh,就用 ~/.zshrc
替换 ~/.bash_profile
。
重启 shell, 或者运行 exec $SHELL
,就可以开始用 rbenv 了。
1.2 安装 ruby-build
由于 rbenv 本身并不能用来安装 Ruby,为了方便我们还需要用到 ruby-build,它的安装也非常简单:
1 2 3 | |
1.3 安装 Ruby
安装好 ruby-build 后,就可以用简单的一条命令来安装 Ruby:
1
| |
注意:Ruby 需要安装在 ~/.rbenv/versions/
下
同时 ruby-build 还提供了一个 rbenv install
命令给 rbenv,所以上面的命令可以变成:
1
| |
2 rbenv 的常用命令
rbenv 提供了很多命令,这里列几个常用的:
2.1 rbenv global
来用设置 Ruby 的全局版本。
上面安装好 Ruby 后,还需要运行一下这条命令:
1
| |
这样默认就会用 1.9.3-p0 了。但如果当前目录下有 .rbenv-version
文件,就会用文件里显示的版本。
2.2 rbenv local
1
| |
会在当前目录下生成 .rbenv-version
文件,此文件会覆盖 rbenv global 设定。
如果想取消的话,可以这样:
1
| |
2.3 rbenv versions
显示所有版本,前面加 * 的为当前激活的版本。
1
| |
2.4 rbenv rehash
每当安装新的 Ruby 版本,或 gem 都要运行一下,不然有可能会出现新安装的不起作用的现象:
1
| |
2.5 其它
当然还有其它命令,具体可以用 rbenv help
查看。
1
| |
3 最后
虽然 rbenv 提供的功能非常少,但对我来说者正是我需要的,less is more,其它的功能我根本不需要。
喜欢用 RVM gemset 的人,可以安装 rbenv-gemset 插件来实现同样的功能。但还是用 Bundler 来管理应用依赖吧。
更新
如果你有安装 Homebrew 的话,可以用以下命令来安装 rbenv 和 ruby-build:
1 2 3 | |