您好,登錄后才能下訂單哦!
本文系統Centos6.5 x64
Ruby On Rails是一個用Ruby語言寫的開源Web框架,和J2EE,PHP等類似。Ruby On Rails是一個非常優美的Web開發框架,并且融入了敏捷開發的精髓:約定大于配置。你會發現,它真的是一個非常優美的框架!今天我們介紹如何在Centos下搭建Ruby On Rails開發環境。
Tips:
Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem庫管理(gemset)。目前支持Ruby的大多數版本,有 1.8.7,1.9.1,1.9.2和Ruby Enterprise Editon,通過RVM可以很方便的在多個Ruby版本中快速切換。RVM同時 也支持JRuby。
設 想當前工作在Ruby 1.9.2 + Rails 3.0下,想體驗最新的Rails 開發版,怎么辦?Gemset就是為解決這個問題而設計的,它可 以為每個Ruby版本生成多個gemsets,各個gemset相互獨立,這意味著你可以很方便的切換到某個gemset下去體驗一個未正式發布的gem 版本,而不會破壞當前的工作環境,完畢后,再切回到工作的gemset下即可。
大多的IDE也都很好的支持了RVM方面,可以自動識別RVM管理的Ruby版本和GemSet,方便你切換Ruby的解析環境。
1、創建普通帳號、查看當前環境環境文件;
[root@master ~]# useradd -d /opt/Truby Truby [root@master ~]# echo "Truby" |passwd --stdin Truby
2、安裝rvm源:
[Truby@master ~]$ curl -L get.rvm.io | bash -s stable [Truby@master ~]$ source ~/.profile [Truby@master ~]$ source ~/.bash_profile
安裝rvm后查看本地當前變化:
[Truby@master ~]$ ls -a . .. .bash_history .bash_logout .bash_profile .bashrc .emacs .gnome2 .gnupg .mozilla .pki .profile .rvm .zlogin .zshrc [Truby@master ~]$ cd .rvm/ l[Truby@master .rvm]$ ls archives config docs examples gems help installed.at LICENSE man patchsets RELEASE scripts tmp VERSION bin contrib environments gem-cache gemsets hooks lib log patches README rubies src user wrappers
使用下面命令對RVM自己進行升級
$ rvm update
rvm 相關命令:
$ rvm info $ rvm info 1.9.2 $ rvm list known $ rvm install 1.9.2 # 安裝 ruby-1.9.2 $ rvm install ree # install Ruby Enterprise Edition (REE) $ rvm ruby-1.8.7-p160 #切換1.8.7-p160為當前使用版本 $ rvm 1.8.7-p160 #同上面命令一樣rvm ruby-1.8.7-p160 $ ruby -v #查看當前Ruby版本 $ which ruby $ rvm --default use 1.9.2 #設置1.9.2為默認版本 $ rvm default #通過default可以快速回到默認版本 $ rvm list default #查看當前版本設置信息 $ rvm reset #恢復系統默認設置 $ rvm list #列出已安裝的Ruby版本 $ rvm list rubies #同上 $ rvm list default #顯示默認Ruby版本信息 $ rvm list known #列出RVM所支持的所有Ruby版本的信息 #為ree-187的Ruby版本創建一個別名叫:reed $ rvm alias create reed ree-1.8.7-p2010.01 $ rvm use reed #通過別名迅速切換 $ rvm alias delete reed #刪除別名 $ rvm alias list #查看所有的別名 $ rvm remove ruby-1.9.2-p0 $ rvm uninstall ruby-1.9.2-p0 $ rvm gemset create rails3 #創建一個名為rails3的gemset $ rvm gemset use rails3 #在當前Ruby下使用rails3這個gemset #或者直接使用這種命名,直接指定ruby和gemset的信息。 $ rvm use ruby-1.9.2-p0@rails3 #設置默認 $ rvm use ruby-1.9.2-p0@rails3 --default #選擇使用ruby版本 $ rvm default #列出當前Ruby版本下所有gemsets的信息 $ rvm gemset list #列出所有Ruby版本下所有gemsets的信息 $ rvm gemset list_all #顯示當前所使用的gemset信息 $ rvm gemset name $ rvm gemdir #所在位置 ~/.rvm/gems/ruby-1.9.2-p0@rails3 $ rvm gemset delete rails3 #會讓確認一次 $ rvm --force gemset delete rails3 #直接刪除,沒有確定步驟 $ rvm gemset empty rails3 $ rvm --force gemset empty rails3 #直接刪除,沒有確定步驟 $ rvm gemset export rails3.gems $ rvm gemset rails 3 $ rvm gemset import rails3 $ rvm gemset copy 1.8.7@rails3 1.9.2-head@rails3
3、安裝ruby
3.1、列出已知的ruby版本
[Truby@master ~]$ rvm list known # MRI Rubies [ruby-]1.8.6[-p420] [ruby-]1.8.7[-head] # security released on head [ruby-]1.9.1[-p431] [ruby-]1.9.2[-p330] [ruby-]1.9.3[-p551] [ruby-]2.0.0[-p598] [ruby-]2.1.4 [ruby-]2.1[.5] [ruby-]2.1-head ruby-head 。。。。。。
3.2、安裝ruby (在安裝過程中可能會提示安裝其他依賴包,使用root安裝其依賴的包此略;)
[Truby@master ~]$ rvm install 1.9.3 Searching for binary rubies, this might take some time. Found remote file https://rvm_io.global.ssl.fastly.net/binaries/centos/6/x86_64/ruby-1.9.3-p551.tar.bz2 Checking requirements for centos. Requirements installation successful. ruby-1.9.3-p551 - #configure ruby-1.9.3-p551 - #download % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 10.2M 100 10.2M 0 0 34767 0 0:05:09 0:05:09 --:--:-- 31365 No checksum for downloaded archive, recording checksum in user configuration. ruby-1.9.3-p551 - #validate archive ruby-1.9.3-p551 - #extract ruby-1.9.3-p551 - #validate binary ruby-1.9.3-p551 - #setup ruby-1.9.3-p551 - #gemset created /opt/Truby/.rvm/gems/ruby-1.9.3-p551@global ruby-1.9.3-p551 - #importing gemset /opt/Truby/.rvm/gemsets/global.gems.................................... ruby-1.9.3-p551 - #generating global wrappers........ ruby-1.9.3-p551 - #gemset created /opt/Truby/.rvm/gems/ruby-1.9.3-p551 ruby-1.9.3-p551 - #importing gemsetfile /opt/Truby/.rvm/gemsets/default.gems evaluated to empty gem list ruby-1.9.3-p551 - #generating default wrappers........
A、查詢已經安裝的ruby
[Truby@master ~]$ rvm list rvm rubies ruby-1.9.2-p330 [ x86_64 ] =* ruby-1.9.3-p551 [ x86_64 ] # => - current # =* - current && default # * - default [Truby@master ~]$
B、使用一個ruby版本
[Truby@master ~]$ rvm use 1.9.2 Using /opt/Truby/.rvm/gems/ruby-1.9.2-p330
C、設置為默認版本
[Truby@master ~]$ rvm use 1.9.2 --default Using /opt/Truby/.rvm/gems/ruby-1.9.2-p330 [Truby@master ~]$ rvm list default Default Ruby (for new shells) ruby-1.9.2-p330 [ x86_64 ]
D、卸載一個已安裝版本
[Truby@master ~]$ rvm remove 1.9.2 ruby-1.9.2-p330 - #removing src/ruby-1.9.2-p330.. ruby-1.9.2-p330 - #removing rubies/ruby-1.9.2-p330.. ruby-1.9.2-p330 - #removing gems.... ruby-1.9.2-p330 - #removing aliases ruby-1.9.2-p330 - #removing wrappers.... ruby-1.9.2-p330 - #removing environments....
4、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
[Truby@master ~]$ rvm use 1.9.2 Using /opt/Truby/.rvm/gems/ruby-1.9.2-p330 [Truby@master ~]$ rvm gemset create rails3 ruby-1.9.2-p330 - #gemset created /opt/Truby/.rvm/gems/ruby-1.9.2-p330@rails3 ruby-1.9.2-p330 - #generating rails3 wrappers........
設定已建立的gemset做為當前環境
use 可以用來切換語言,或者gemset,前提是他們已經被安裝(或者建立)
[Truby@master ~]$ rvm use 1.9.3 [Truby@master ~]$ rvm use 1.9.3@rails4
并可以在list命令中看到:
[Truby@master ~]$ rvm list rvm rubies ruby-1.9.2-p330 [ x86_64 ] =* ruby-1.9.3-p551 [ x86_64 ] # => - current # =* - current && default # * - default [Truby@master ~]$ rvm gemset list gemsets for ruby-1.9.3-p551 (found in /opt/Truby/.rvm/gems/ruby-1.9.3-p551) (default) global rails3.1 => rails4
清空gemset中的gem
如果你想清空一個gemset的所有gem,想重新安裝所有gem,可以這樣
[Truby@master ~]$ rvm gemset empty 1.9.2@rails3.1 Are you SURE you wish to remove the installed gems for /opt/Truby/.rvm/gems/ruby-1.9.3-p551@rails4? (anything other than 'yes' will cancel) > yes installing gem /opt/Truby/.rvm/gem-cache/gem-empty-1.0.0.gem --local --no-ri --no-rdoc. Successfully uninstalled gem-empty-1.0.0 Removed successfully.
刪除一個gemset
[Truby@master ~]$ rvm gemset delete rails3.1 /opt/Truby/.rvm/gems/ruby-1.9.2-p330@rails3.1 did not previously exist. Ignoring.
rvm還可以自動加載gemset.
例如我們有一個rails3.1.3項目,需要1.9.3版本ruby.整個流程可以這樣。
rvm install 1.9.3 rvm use 1.9.3 rvm gemset create rails3.3 rvm use 1.9.3@rails3.3
下面進入到項目目錄(比如redmine,此為ror項目),建立一個.rvmrc文件。
在這個文件里可以很簡單的加一個命令:
rvm use 1.9.3@rails3.3
然后無論你當前ruby設置是什么,cd到這個項目的時候,rvm會幫你加載 ruby 1.9.3和rails3.3 gemset.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。