rvm是ruby版本控制工具,使用rvm来部署ruby环境可以达成非常简单的将ruby版本管理好。
1、准备工作
先看看有没有安装curl
marco@marco:~$ dpkg -s curl
Package: curl
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 344
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Version: 7.22.0-3ubuntu4.8
Replaces: curl-ssl
Provides: curl-ssl
Depends: libc6 (>= 2.14), libcurl3 (>= 7.16.2-1), zlib1g (>= 1:1.1.4)
Description: Get a file from an HTTP, HTTPS or FTP server
curl is a client to get files from servers using any of the supported
protocols. The command is designed to work without user interaction
or any kind of interactivity.
.
curl offers a busload of useful tricks like proxy support, user
authentication, FTP upload, HTTP post, file transfer resume and more.
Homepage: http://curl.haxx.se
Original-Maintainer: Ramakrishnan Muthukrishnan <rkrishnan@debian.org>
这是就安装好了。
如果没有安装,则输入
marco@marco:~$ sudo apt-get install curl
安装好url以后,同理看看git 安装了没有,没安装的话
marco@marco:~$ sudo apt-get install git
把git安装好以后要生成密钥和公钥
marco@marco:~$git config --global user.name "Your Name"
marco@marco:~$git config --global user.email your-email@address.com
2、安装RVM
用官方推荐方法安装
marco@marco:~$curl -L get.rvm.io | bash -s stable
这里的话,rvm就被安装在了该用户的home目录的.rvm目录下,也就是$HOME/.rvm
这里我们可以查看一下$HOME/.bash_proflie中有没有这一句话,没有就添上。这样你登陆的时候就会自动载入rvm
[[ -s "$HOME/.rvm/scripte/rvm"]] && . "$HOME/.rvm/scripte/rvm"
这是一句shell脚本,分析一下
[[<项>]] 这个的意思是说如果里面的项为真的话就是真。
-s是在判断语句里的一个约束条件,就是判断后面的描述的文件是否存在。
&&是逻辑与,也是短路与。如&&前面的表达式为假,则不执行后面的语句,反之执行。
3、执行rvm
可以通过输入
marco@marco:~$ rvm -v
来查看rvm版本和确认rvm是否安装成功。
执行一次
marco@marco:~$ rvm requirements
可以检查rvm需要的第三方包是否都装完了。
4、用rvm来管理我们的ruby环境
终于到了正题了。
首先,因为国内上网有墙的原因,所以要下载国外的源上的资源非常困难。一般采用的解决方案就是把源和下载地址替换为国内的源,其中taobao的ruby最为出名
执行命令
marco@marco:~$ sed -i 's!cache.ruby-lang.org/pub/ruby!ruby.taobao.org/mirrors/ruby!' $rvm_path/config/db
通过执行命令
marco@marco:~$ rvm list
来获取本机上已通过rvm安装的ruby版本
而执行命令
marco@marco:~$ rvm list known
则可以查看供安装的所有ruby版本和一些周边的包
选好需要的ruby版本后,执行安装命令来安装(这里用2.1来做例子)
marco@marco:~$ rvm install ruby 2.1-head
成功安装以后,就可以用use 命令来启用(ruby- 这一部分可以缺省)
marco@marco:~$ rvm use 2.1
如果先要将其设为默认则使用--default参数。设置了默认以后可以直接用default来启用。通过use system来短路rvm
marco@marco:~$ rvm use 2.1 --default
marco@marco:~$ rvm use default
marco@marco:~$ rvm use system
这时候可以参看现在的环境下的ruby了
marco@marco:~$ ruby -v
ruby 2.1.2p95 (2014-05-08 revison 45877) [x86_64-linux]
marco@marco:~$which ruby
/home/marco/.rvm/rubies/ruby-2.1.2/bin/ruby
5、卸载rvm
marco@marco:~$ rvm impload
这个命令就会删除$HOME/.rvm这个目录下所有版本
最后记得将$HOME/.bash_profile文件里添加的那句话删掉哦