RVM安装管理多个ruby版本以及多个rails版本

旧文重念,感觉早已过时,如今ruby都2.0了,rvm的使用也大为简化,而且很多人的眼里rvm已经成了重量级的东西,又出来一个rbenv。rvm如今的安装很简单,而且用户体验也越来越好。

[b]安装rvm[/b]
rvm的安装又分当前用户安装和多用户安装:
单用户安装就是某个用户安装在自己的home目录下,自己用,我觉得这样是不太好,多用户安装是root权限安装,各个用户可共享使用
单用户的安装命令
[u]前提是先安装curl[/u]

$ \curl -L https://get.rvm.io | bash -s stable --ruby

多用户的安装命令
$ \curl -L https://get.rvm.io | sudo bash -s stable


执行命令
source /etc/profile.d/rvm.sh
,加载rvm到环境中

[b]安装依赖[/b]
rvm安装完毕之后,就是ruby的下载安装了
但是在此之前需要安装一下ruby的依赖包,诸如openssl之类的,否则以后会出现各种问题,重新安装也是大麻烦
$ rvm requirements

运行上面这个命令,又有一个提示,提示你安装各种版本的ruby(jruby)所依赖的东西,照这命令复制安装一通就可以了

[b]安装ruby[/b]
rvm安装完毕之后,只要是联网,安装ruby就轻而易举了,另外如果不是联网,可以把ruby的安装包下载,放在rvm的指定目录下,也能安装

rvm install ruby

上面的命令会自动安装ruby的最新版本,要制定版本只需要把ruby改为1.9.3或者其他版本号就可以了

设置系统默认的版本
rvm use 2.0 --default


[b]安装rails[/b]
ruby安装完毕之后,对用的gem般本也会相应的安装,安装rails的话,直接
gem install rails
即可

补充:ubuntu环境下遇到了奇怪的问题,有时候环境变量也设置好了,但是终端中ruby,rails,rvm命令一概提示找不到,最后是需要设置终端的“登录”选项,详情见此处
[url]http://chinacheng.iteye.com/blog/1738036[/url]

=============================旧文分割线======================================

[b]安装ruby[/b]
ubuntu server10.10 中的ruby安装的默认版本是1.8.7
执行命令 即可安装
$ sudo apt-get install ruby



由于不同的项目使用的ruby版本、gem版本都不同,多个版本共存也不太现实。今天在网上看到了一个叫做RVM的工具,可以帮助来实现这个功能,再去看看这个东东出来的日期,发现自己真的有点过时了。
RVM的官方网址是[url]https://rvm.beginrescueend.com/[/url]
首先要求要安装一些依赖包
sudo apt-get install curl bison build-essential git-core zlib1g-dev libssl-dev libreadline5-dev libxml2-dev

使用脚本安装rvm
bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)


安装完毕之后运行
rvm notes

提示找不到命令

需要修改一下文件 ~/.bashrc
在这个文件的最后一行添加如下信息
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 
# This loads RVM into a shell session.


保存成功后
运行命令:
$ type rvm | head -n1

结果显示:
rvm 是一个函数

或者运行这个命令:
rvm notes

出来一大堆东西

安装ruby1.9.2
rvm install 1.9.2 


切换版本的命令
rvm use 1.9.2

如果要设置为默认
rvm use 1.9.2 --default


系统中以前安装的是1.8.7
rvm use system

就是使用1.8.7版本的ruby


系统终于有了两个版本的ruby并且能够使用rvm进行切换


[b]安装rails[/b]

但是安装rail的时候,出了一点问题
运行
 $ gem install rails

不能正确的安装,出现的提示是gem没有安装,我有点困惑了,ruby都装完了,怎么可能没有安装gem呢?
系统提示如下
$ gem install rails

程序“gem”已包含在下列软件包中:
* rubygems1.8
* rubygems1.9.1
请尝试:sudo apt-get install <选定的软件包>

在安装rvm之前,我已经在系统上已经安装了ruby1.8.7 但是没有安装rubygem1.8
于是我安装rubygems1.8
$ sudo apt-get install rubygems 

在我把当前的ruby版本设置为系统默认的时候,我尝试着在rvm中为ruby设置gem的版本,结果出现错误
$ rvm rubygems lastest

ERROR: Rubygems version may only be set for an RVM MRI based Ruby, please select one and rerun.
大体意思是,rvm只能为在rvm中安装的ruby设置gem版本

于是我设置rvm的ruby版本为1.9.2
然后运行的gem得到的版本 是gem 1.6.2

  $rvm use system
Now using system ruby.
$ ruby -v
ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]
$ gem -v
1.3.7

sudo gem install -v=2.3.8 rails
sudo gem install -v=3.0.7 rails

安装了两个版本的rails

安装完毕之后运行rails命令
$ rails -v

结果是提示没有安装rails
这个时候需要建立一个软连接
sudo ln -s /var/lib/gems/1.8/bin/rails /usr/bin/rails
$rails -v
Rails 3.0.7


如果要去建立一个rails项目的话需要指定rails版本
rails _2.3.8_ test238
rails _3.0.7_ new test307 #(rails3开始,新建rails项目的命令发生了变化)


安装rails1.2.2 的时候出现了问题
 $ sudo gem install -v=1.2.2 rails
While executing gem ... (NoMethodError)
undefined method `size' for nil:NilClass


这个问题的原因是gem中的缓存文件造成的
命令
$gem env

可以查看到gem的path路径
我得到的路径是:
GEM PATHS:
- /var/lib/gems/1.8

进入这个目录下的cache目录,然后将所有的文件删除
在执行命令
$ sudo gem install -v=1.2.2 rails

安装成功

最后机器上安装了2个ruby环境,以及三个rails环境
gem list 看一下rails的版本
rails (3.0.7, 2.3.8, 1.2.2)


总之吧,每一次折腾都有新的收获
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值