Ubuntu使用rvm安装ruby

作者:周星 发布:2017-10-07

    安装ruby有两种方式,一种是使用rvm,一种是使用rbenv,关于这两种的优劣一直在各社区讨论,身边的同事们大多使用rvm,确都倾向于rbenv,关于这两种的简介对比放在下文介绍,本文主要描述如何使用rvm安装ruby rails等。

    

安装rvm:先安装curl和git

sudo apt-get install git-core
sudo apt-get install curl

可以用dpkg -s curl命令检查一下系统有没有安装

安装rvm

用rvm官方推荐的方式安装curl -L get.rvm.io | bash -s stable

回显提示我们,RVM被安装在$HOME/.rvm中;并且需要在终端中加载脚本$HOME/.rvm/scripts/rv


需要执行source /etc/profile.d/rvm.sh


应该请把这句话加在$HOME/.bash_profile文件中,以便在开启一个终端会话时候加载RVM

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.  


如果对shell变成不熟悉,这里简单解释一下这是干什么用的。


[[condition]],两层的方括号中间括着条件返回条件是不是真。-s是判断给定的文件是否存在的命令。这样一来,不就是在[[ -s "$HOME/.vrm/scripts/vrm"]]判断刚才安装的RVM是否存在吗? 

接下来的&&符号是“短路的与”,当前面的条件是真的时候,执行后面的语句,返回这两个语句是不是全是真。在这里,利用了“短路”特性。也就是说当RVM已经安装的话,执行后面的. "$HOME/.rvm/scripts/rvm"命令。这条命令和source "$HOME/.rvm/scripts/rvm"是一个意思:加载rvm的启动脚本。

#符号后面是注释信息。

使用RVM

刚才我们通过修改.bash_profile增加的内容需要重新打开终端窗口时加载。我们有两个选择,一个是关闭当前的终端窗口重新打开,另一个是在当前窗口执行一遍. "$HOME/.rvm/scripts/rvm"。

察看RVM的版本


rvm 1.16.20 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]  


可以查看可以安装的版本

rvm list known


安装ruby

rvm install 1.9.3-p125


这一步按道理讲会发生问题


Searching for binary rubies, this might take some time.
No binary rubies available for: ubuntu/10.04/i386/ruby-1.9.3-p125.
Continuing with compilation. Please read 'rvm mount' to get more information on binary rubies.
Installing requirements for ubuntu, might require sudo password.
Skipping `apt-get update` make sure your system is up to date.
RVM autolibs is now configured with mode '2' => 'check and stop if missing',
please run `rvm autolibs enable` to let RVM do its job or run and read `rvm autolibs [help]`
or visit https://rvm.io/rvm/autolibs for more information.


如下划线所示,运行

rvm autolibs enable

rvm autolibs


然后就可以安装ruby了,选择一个版本

rvm install 1.9.3-p125


再运行ruby时,发现会有这样一个错误

RVM is not a function, selecting rubies with 'rvm use ...' will not work.
You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.

访问下划线处网站,会有guide指导,按照描述操作即可,很简单


关闭terminal之后,重新打开

ruby -v

成功




支付宝扫码赞助博主


评论(2)

sosop

sosop第1楼

2014-04-25 20:05:30

周星

周星第2楼

2014-04-25 21:27:54