在 Ruby 開發中,時常有在多個 Ruby 版本中測試代碼的需求場景。爲了使事情變得更加簡單,咱們能夠選用 rbenv 這個 Ruby 版本管理工具。若是將它與 ruby-build 搭配使用,則可實現自動編譯安裝 Ruby、輕鬆管理多個 Ruby 版本的目的。html
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 版本的環境管理:
要將咱們先前安裝的 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 版本。