Centos系统搭建ror微信h5牌九平台搭建论坛:aqiulian.com,更多有关Centos系统搭建咨询Q:212303635。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、创建普通帐号、查看当前环境环境文件;
1
2
|
[root@master ~]
# useradd -d /opt/Truby Truby
[root@master ~]
# echo "Truby" |passwd --stdin Truby
|
2、安装rvm源:
1
2
3
|
[Truby@master ~]$ curl -L get.rvm.io |
bash
-s stable
[Truby@master ~]$
source
~/.profile
[Truby@master ~]$
source
~/.bash_profile
|
安装rvm后查看本地当前变化:
1
2
3
4
5
6
|
[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 相关命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
$ 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版本
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[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安装其依赖的包此略;)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
[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
1
2
3
4
5
6
7
8
9
10
11
12
|
[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版本
1
2
|
[Truby@master ~]$ rvm use 1.9.2
Using
/opt/Truby/
.rvm
/gems/ruby-1
.9.2-p330
|
C、设置为默认版本
1
2
3
4
5
6
7
|
[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、卸载一个已安装版本
1
2
3
4
5
6
7
|
[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
1
2
3
4
5
|
[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,前提是他们已经被安装(或者建立)
1
2
|
[Truby@master ~]$ rvm use 1.9.3
[Truby@master ~]$ rvm use 1.9.3@rails4
|
并可以在list命令中看到:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[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,可以这样
1
2
3
4
5
6
|
[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
1
2
|
[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.整个流程可以这样。
1
2
3
4
|
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文件。
在这个文件里可以很简单的加一个命令:
1
|
rvm use 1.9.3@rails3.3
|
然后无论你当前ruby设置是什么,cd到这个项目的时候,rvm会帮你加载 ruby 1.9.3和rails3.3 gemset.