安装ruby
ubuntu server10.10 中的ruby安装的默认
版本是1.8.7
执行命令 即可安装
$ sudo apt-get install ruby
由于不同的项目使用的ruby版本、gem版本都不同,多个版本共存也不太现实。今天在网上看到了一个叫做
RVM的工具,可以帮助来实现这个功能,再去看看这个东东出来的日期,
发现自己真的有点过时了。
RVM的官方网址是https://rvm.beginrescueend.com/
首先要求要安装一些依赖包
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进行切换
安装rails
但是安装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)
总之吧,每一次折腾都有新的收获