rbenv + ruby-build: 轻松管理多个 Ruby 版本

在 Ruby 开发中,时常有在多个 Ruby 版本中测试代码的需求场景。为了使事情变得更加简单,咱们能够选用 rbenv 这个 Ruby 版本管理工具。若是将它与 ruby-build 搭配使用,则可实现自动编译安装 Ruby、轻松管理多个 Ruby 版本的目的。html

rbenv

rbenv 及 ruby-build 的安装git

rbenv 和 ruby-build 的源代码托管在 GitHub 上,只需经过 git 命令直接 clone
到本机便可完成安装。github

咱们先安装 rbenv:sql

$ cd
$ git clone git://github.com/sstephenson/rbenv.git .rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> .bash_profile
$ echo 'eval "$(rbenv init -)"' >> .bash_profile

Zsh 用户请将 .bash_profile 替换成 .zshenv。shell

接着,咱们安装 ruby-build:segmentfault

$ mkdir .rbenv/plugins
$ cd .rbenv/plugins
$ git clone git://github.com/sstephenson/ruby-build.git

为使已安装的 rbenv 和 ruby-build 在咱们的 shell 中即时生效,因此咱们执行如下命令:ruby

$ source ~/.bash_profile

一样的,Zsh 用户需换成 .zshenv。bash

安装 Rubycurl

如今,咱们的 rbenv 工具已经准备就绪,能够用它来安装各类 Ruby 版本了。不过,在此以前,咱们还得准备编译安装 Ruby 的各类工具(如编译器)及依赖。以 Ubuntu 为例,可经过下列命令安装:工具

$ sudo apt-get install build-essential autoconf automake bison libtool \
openssl libreadline6 libreadline6-dev curl zlib1g zlib1g-dev libssl-dev \
libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev libc6-dev ncurses-dev

假如咱们想要安装 Ruby 的最新版本 1.9.3 p194,那么能够执行:

$ rbenv install 1.9.3-p194

提示:不带参数执行 rbenv install 能够得到可安装的 Ruby 版本列表。

rbenv 会先从 Ruby 官方网站下载源码包,而后开始自动化的编译安装过程。 根据机器的配置,该过程稍微有点耗时,你能够经过以下命令来监视:

$ tailf /tmp/ruby-build.*.log

你能够根据实际须要安装多个 Ruby 版本。在此,咱们也将安装 Ruby 1.8.7 p370:

$ rbenv install 1.8.7-p370

在 Ruby 安装完成以后,咱们须要执行下面的命令,以便 rbenv 重建 shim 可执行文件:

$ rbenv rehash

管理 Ruby 版本

rbenv 支持如下三种 Ruby 版本的环境管理:

  • global:设置全局的 Ruby 版本,换句话说,全部的 shell 都将使用该 Ruby 版本。
  • local:为本地的一个特定项目设置 Ruby 版本,注意这将覆盖全局设置。
  • shell:针对 shell 设置 Ruby 版本,该设置将覆盖 global 和 local 设置。

要将咱们先前安装的 Ruby 1.9.3 p194 设置为全局性版本,能够执行:

$ rbenv global 1.9.3-p194

设置为局部性版本和 shell 级版本,可分别执行:

$ rbenv local 1.9.3-p194
$ rbenv shell 1.9.3-p194

最后,经过 rbenv versions 可以查看已经安装的 Ruby 版本,其中,带 * 的项目为当前正在使用的 Ruby 版本。


via dailyrb under CC-by-sa

相关文章
相关标签/搜索