安裝 Ruby 與管理 Ruby 版本

Juanito FatasThinking about what to do.

本文介紹針對 OS X 介紹筆者偏好的安裝方法。

各平台安裝請參考:Ruby 官網

推薦使用 ruby-install:postmodern/ruby-install

brew install ruby-install

或(Linux 也適用)

wget -O ruby-install-0.5.0.tar.gz https://github.com/postmodern/ruby-install/archive/v0.5.0.tar.gz
tar -xzvf ruby-install-0.5.0.tar.gz
cd ruby-install-0.5.0/
sudo make install

最新安裝資訊請參考這裡

不支援安裝 ruby trunk

預設會把 Ruby 安裝到 ~/.rubies 目錄

列出可安裝的 Ruby 版本
$ ruby-install

$ ruby-install ruby

$ ruby-install ruby 2.2

$ ruby-install ruby 2.1.5

$ ruby-install --md5 MD5_OF_TAR_BZ2 ruby 2.3.0-preview1

$ ruby-install --install-dir /path/to/dir ruby

$ ruby-install --rubies-dir /path/to/rubies/ ruby

$ ruby-install --system ruby 2.2.0

$ ruby-install -M https://ftp.ruby-lang.org/pub/ruby ruby 2.2.0

$ ruby-install -M http://www.mirrorservice.org/sites/ftp.ruby-lang.org/pub/ruby ruby 2.2.0

$ ruby-install -p https://raw.github.com/gist/4136373/falcon-gc.diff ruby 1.9.3-p429

$ ruby-install ruby 2.2.0 -- CC=gcc-4.7

$ ruby-install ruby 2.2.0 -- --enable-shared --enable-dtrace CFLAGS="-O3"

$ rm -rf ~/.rubies/ruby-2.2.0

裝了新 Ruby 之後要執行:gem pristin --only-executables 來重新產生 Gem 的執行檔。原因請參考這裡

https://github.com/postmodern/ruby-install#integration

請參考:https://github.com/postmodern/ruby-install#features

推薦使用 chruby:postmodern/chruby

brew install chruby

或(Linux 也適用)

wget -O chruby-0.3.9.tar.gz https://github.com/postmodern/chruby/archive/v0.3.9.tar.gz
tar -xzvf chruby-0.3.9.tar.gz
cd chruby-0.3.9/
sudo make install

最新安裝資訊請參考:https://github.com/postmodern/ruby-install#install

chruby 可跟 ruby-install, ruby-build 等工具搭配使用。

將下列設定加到 .bashrc.zshrc

source /usr/local/share/chruby/chruby.sh

將下列設定加到 .bashrc.zshrc

source /usr/local/share/chruby/auto.sh

什麼是 .ruby-version

echo "ruby-2.1.5" > ~/.ruby-version

~/.gem

和 Capistrano、Chef、Cron、Emacs、Pow、Puppet、Sudo、Vim、Fish 工具整合請參考:

https://github.com/postmodern/chruby#integration

  • 號為當前使用中的 Ruby
$ chruby
   ruby-2.1.5
 * ruby-2.2.0

$ chruby
   ruby-2.1.5
 * ruby-2.2.0

$ chruby 2.2.0

$ chruby system