天天看點

RVM 安裝 Ruby

RVM 是一個指令行工具,可以提供一個便捷的多版本 Ruby 環境的管理和切換。

如果你打算學習 Ruby / Rails, RVM 是必不可少的工具之一。

這裡所有的指令都是再使用者權限下操作的,任何指令最好都不要用 sudo.

RVM 安裝

$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ \curl -sSL https://get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile
      

修改 RVM 的 Ruby 安裝源到 Ruby China 的Ruby 鏡像服務​​​​,這樣能提高安裝速度

$ echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db
      

Ruby 的安裝與切換

列出已知的 Ruby 版本

rvm list known
      

安裝一個 Ruby 版本

rvm install 2.2.0 --disable-binary
      

這裡安裝了最新的 2.2.0, ​

​rvm list known​

​ 清單裡面的都可以拿來安裝。

切換 Ruby 版本

rvm use 2.2.0
      

如果想設定為預設版本,這樣一來以後新打開的控制台預設的 Ruby 就是這個版本

rvm use 2.2.0 --default 
      

查詢已經安裝的ruby

rvm list
      

解除安裝一個已安裝版本

rvm remove 1.8.7
      

gemset 的使用

RVM 不僅可以提供一個多 Ruby 版本共存的環境,還可以根據項目管理不同的 gemset.

gemset 可以了解為是一個獨立的虛拟 Gem 環境,每一個 gemset 都是互相獨立的。

比如你有兩個項目,一個是 Rails 2.3 一個是 ​

​rails3. gemset​

​ 可以幫你便捷的建立兩套 Gem 開發環境,并且友善的切換。

gemset 是附加在 Ruby 語言版本下面的,例如你用了 1.9.2, 建立了一個叫 rails3 的 gemset,當切換到 1.8.7 的時候,rails3 這個 gemset 并不存在。

建立 gemset

rvm use 1.8.7
rvm gemset create rails23
      

然後可以設定已建立的 gemset 做為目前環境

use 可以用來切換語言或者 gemset

前提是他們已經被安裝(或者建立)。并可以在 ​

​list​

​ 指令中看到。

rvm use 1.8.7
rvm use 1.8.7@rails23
      

然後所有安裝的 Gem 都是安裝在這個 gemset 之下。

列出目前 Ruby 的 gemset

rvm gemset list
      

清空 gemset 中的 Gem

如果你想清空一個 gemset 的所有 Gem, 想重新安裝所有 Gem,可以這樣

rvm gemset empty 1.8.7@rails23
      

删除一個 gemset

rvm gemset delete rails2-3
      

項目自動加載 gemset

RVM 還可以自動加載 gemset。 例如我們有一個 Rails 3.1.3 項目,需要 1.9.3 版本 Ruby,整個流程可以這樣。

rvm install 1.9.3
rvm use 1.9.3
rvm gemset create rails313
rvm use 1.9.3@rails313
      

下面進入到項目目錄,建立一個 ​

​.rvmrc​

​ 檔案。

在這個檔案裡可以很簡單的加一個指令:

rvm use 1.9.3@rails313
      

然後無論你目前 Ruby 設定是什麼,cd 到這個項目的時候,RVM 會幫你加載 Ruby 1.9.3 和 rails313 gemset.

https://ruby-china.org/wiki/rvm-guide
http://www.runoob.com/ruby/ruby-installation-unix.html