溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Centos系統(tǒng)搭建ror平臺搭建

發(fā)布時間:2020-07-21 07:26:16 來源:網(wǎng)絡(luò) 閱讀:6097 作者:西索oO 欄目:編程語言

本文系統(tǒng)Centos6.5 x64


Ruby On Rails是一個用Ruby語言寫的開源Web框架,和J2EE,PHP等類似。Ruby On Rails是一個非常優(yōu)美的Web開發(fā)框架,并且融入了敏捷開發(fā)的精髓:約定大于配置。你會發(fā)現(xiàn),它真的是一個非常優(yōu)美的框架!今天我們介紹如何在Centos下搭建Ruby On Rails開發(fā)環(huán)境。


Tips:

Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem庫管理(gemset)。目前支持Ruby的大多數(shù)版本,有 1.8.7,1.9.1,1.9.2和Ruby Enterprise Editon,通過RVM可以很方便的在多個Ruby版本中快速切換。RVM同時 也支持JRuby。


設(shè) 想當(dāng)前工作在Ruby 1.9.2 + Rails 3.0下,想體驗最新的Rails 開發(fā)版,怎么辦?Gemset就是為解決這個問題而設(shè)計的,它可 以為每個Ruby版本生成多個gemsets,各個gemset相互獨立,這意味著你可以很方便的切換到某個gemset下去體驗一個未正式發(fā)布的gem 版本,而不會破壞當(dāng)前的工作環(huán)境,完畢后,再切回到工作的gemset下即可。


大多的IDE也都很好的支持了RVM方面,可以自動識別RVM管理的Ruby版本和GemSet,方便你切換Ruby的解析環(huán)境。


1、創(chuàng)建普通帳號、查看當(dāng)前環(huán)境環(huán)境文件;

[root@master ~]# useradd -d /opt/Truby Truby
[root@master ~]# echo "Truby" |passwd --stdin Truby

Centos系統(tǒng)搭建ror平臺搭建

2、安裝rvm源:

[Truby@master ~]$ curl -L get.rvm.io | bash -s stable
[Truby@master ~]$ source ~/.profile
[Truby@master ~]$ source ~/.bash_profile

安裝rvm后查看本地當(dāng)前變化:

[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自己進(jìn)行升級
$ rvm update

 

rvm 相關(guān)命令:

$ 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為當(dāng)前使用版本  
$ rvm 1.8.7-p160           #同上面命令一樣rvm ruby-1.8.7-p160  
$ ruby -v                  #查看當(dāng)前Ruby版本  

$ which ruby

$ rvm --default use 1.9.2  #設(shè)置1.9.2為默認(rèn)版本  
  
$ rvm default              #通過default可以快速回到默認(rèn)版本  
$ rvm list default         #查看當(dāng)前版本設(shè)置信息  
$ rvm reset                #恢復(fù)系統(tǒng)默認(rèn)設(shè)置    

$ rvm list                 #列出已安裝的Ruby版本  
  
$ rvm list rubies          #同上  
$ rvm list default         #顯示默認(rèn)Ruby版本信息  
$ rvm list known           #列出RVM所支持的所有Ruby版本的信息  


#為ree-187的Ruby版本創(chuàng)建一個別名叫: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 #創(chuàng)建一個名為rails3的gemset  
 
$ rvm gemset use rails3    #在當(dāng)前Ruby下使用rails3這個gemset  


#或者直接使用這種命名,直接指定ruby和gemset的信息。    
$ rvm use ruby-1.9.2-p0@rails3 


#設(shè)置默認(rèn)  
$ rvm use ruby-1.9.2-p0@rails3 --default   

#選擇使用ruby版本  
$ rvm default              
  

#列出當(dāng)前Ruby版本下所有g(shù)emsets的信息 
$ rvm gemset list  

  
#列出所有Ruby版本下所有g(shù)emsets的信息    
$ rvm gemset list_all  

#顯示當(dāng)前所使用的gemset信息  
$ rvm gemset name
  

$ rvm gemdir                       #所在位置  
~/.rvm/gems/ruby-1.9.2-p0@rails3


$ rvm gemset delete rails3         #會讓確認(rèn)一次  
  
$ 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、查詢已經(jīng)安裝的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、設(shè)置為默認(rèn)版本

[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版本共存的環(huán)境,還可以根據(jù)項目管理不同的gemset.

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

比如你有兩個項目,一個是rails 2.3 一個是 rails 3. gemset可以幫你便捷的建立兩套gem開發(fā)環(huán)境,并且方便的切換。

gemset是附加在ruby語言版本下面的,例如你用了1.9.2, 建立了一個叫rails3的gemset,當(dāng)切換到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........

設(shè)定已建立的gemset做為當(dāng)前環(huán)境

use 可以用來切換語言,或者gemset,前提是他們已經(jīng)被安裝(或者建立)

[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的所有g(shù)em,想重新安裝所有g(shù)em,可以這樣

[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.

項目自動加載gemset

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

下面進(jìn)入到項目目錄(比如redmine,此為ror項目),建立一個.rvmrc文件。

在這個文件里可以很簡單的加一個命令:

rvm use 1.9.3@rails3.3

然后無論你當(dāng)前ruby設(shè)置是什么,cd到這個項目的時候,rvm會幫你加載 ruby 1.9.3和rails3.3 gemset.


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI