本文系统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
wKioL1RrOtXiTF2qAAE5OUKg-PE834.jpg
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.
项目自动加载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
下面进入到项目目录(比如redmine,此为ror项目),建立一个.rvmrc文件。
在这个文件里可以很简单的加一个命令:
rvm use 1.9.3@rails3.3
然后无论你当前ruby设置是什么,cd到这个项目的时候,rvm会帮你加载 ruby 1.9.3和rails3.3 gemset.
©著作权归作者所有:来自51CTO博客作者西索oO的原创作品,如需转载,请注明出处,否则将追究法律责任
railsgemrvmServices
共同学习,写下你的评论
评论加载中...
作者其他优质文章