Ruby版本管理工具RVM的安裝和使用教程_ruby專題

來源:互聯網
上載者:User

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

https://rvm.io/

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

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

$ curl -L get.rvm.io | bash -s stable$ source ~/.bashrc$ source ~/.bash_profile

修改 RVM 的 Ruby 安裝源到國內的 淘寶鏡像伺服器,這樣能提高安裝速度

$ sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' ~/.rvm/config/db

Ruby 的安裝與切換

列出已知的 Ruby 版本

rvm list known

安裝一個 Ruby 版本

rvm install 2.2.0

這裡安裝了最新的 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.7rvm gemset create rails23

然後可以設定已建立的 gemset 做為當前環境
use 可以用來切換語言或者 gemset

前提是他們已經被安裝(或者建立)。並可以在 list 命令中看到。

rvm use 1.8.7rvm 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.3rvm use 1.9.3rvm gemset create rails313rvm use 1.9.3@rails313

下面進入到項目目錄,建立一個 .rvmrc 檔案。

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

rvm use 1.9.3@rails313

然後無論你當前 Ruby 設定是什麼,cd 到這個項目的時候,RVM 會幫你載入 Ruby 1.9.3 和 rails313 gemset.
使用 RVM 快速部署 Nginx + Passenger

首先安裝 Passenger

gem install passenger

然後使用 passenger-install-nginx-module 來安裝 Nginx 和部署。

因為這一步需要 root 許可權(因為要編譯 Nginx)可以用 rvmsudo 這個東西(這個東西真是個好東西)。

rvmsudo passenger-install-nginx-module

然後會讓你選擇是下載 Nginx 源碼自動編譯安裝,還是自己選擇 Nginx 源碼位置。

選擇 Nginx 手動安裝的可以添加別的編譯參數,方便自訂編譯 Nginx。

然後一路下載安裝。預設的安裝位置為 /opt/nginx.

然後看看 nginx.conf,都給你配置好了,只需要加上 root 位置(yourapp/public)就可以了。

當我第一次安裝完成了,就驚呼,這也太爽了吧。

PS: RVM 是個好東西,做的很智能,(大部分)操作失敗後會告訴你原因,然後告訴你需要安裝哪些Lib等等,非常適合新手老手使用,簡直是居家旅行必備良藥。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.