安裝rvm命令行工具

rvm是一個命令行工具,能夠提供一個便捷的多版本ruby環境的管理和切換。nginx

https://rvm.io/ruby

若是你打算學習ruby/rails, rvm是必不可少的工具之一。bash

這裏全部的命令都是再用戶權限下操做的,任何命令最好都不要用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列表裏面的均可以拿來安裝。app

  • 使用一個ruby版本
rvm use 1.9.3

若是想設置爲默認版本,能夠這樣curl

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開發環境,而且方便的切換。url

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

相關文章
相關標籤/搜索