文章出處

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 1.9.3

這里安裝了最新的1.9.3, rvm list known列表里面的都可以拿來安裝。

  • 使用一個ruby版本
rvm use 1.9.3

如果想設置為默認版本,可以這樣

rvm use 1.9.3 --default 
  • 查詢已經安裝的ruby
rvm list
  • 卸載一個已安裝版本
rvm remove 1.9.2

gemset的使用

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

gemset可以理解為是一個獨立的虛擬gem環境,每一個gemset都是相互獨立的。

比如你有兩個項目,一個是rails 2.3 一個是 rails 3. 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.

例如我們有一個rails3.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.

使用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等等,非常適合新手老手使用,簡直是居家旅行必備良藥。


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()