设为首页 收藏本站
查看: 804|回复: 0

[经验分享] Centos系统搭建ror平台搭建

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2014-11-19 11:14:00 | 显示全部楼层 |阅读模式
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
[iyunv@master ~]# useradd -d /opt/Truby Truby
[iyunv@master ~]# echo "Truby" |passwd --stdin Truby



wKioL1RrOtXiTF2qAAE5OUKg-PE834.jpg
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 ... -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.



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-31489-1-1.html 上篇帖子: tsung执行时报Can't locate Template.pm的解决 下篇帖子: Ubuntu ssh频繁断开解决办法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表