在ubuntu中安装及使用rvm管理ruby…

本文介绍了RVM的安装步骤及如何使用RVM管理多个Ruby版本。从安装curl到使用RVM安装Ruby版本,再到设置默认版本的过程都有详细说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RVM的主要作用是方便的管理系统中的多个ruby版本而不至于混乱。

我们来看看如何安装RVM,我使用的ubuntu12.04LTS。

准备工作

后面需要使用curl,用dpkg -s curl命令检查一下系统中有没有安装

 

[plain]  view plain copy
  1. abbuggy@abbuggy-ubuntu:~$ dpkg -s curl  
  2. Package: curl  
  3. Status: install ok installed  
  4. Priority: optional  
  5. Section: web  
  6. Installed-Size: 338  
  7. Maintainer: Ubuntu Developers   
  8. Architecture: i386  
  9. Version: 7.22.0-3ubuntu4  
  10. Replaces: curl-ssl  
  11. Provides: curl-ssl  
  12. Depends: libc6 (>= 2.7), libcurl3 (>= 7.16.2-1), zlib1g (>= 1:1.1.4)  
  13. Description: Get file from an HTTP, HTTPS or FTP server  
  14.  curl is client to get files from servers using any of the supported  
  15.  protocols. The command is designed to work without user interaction  
  16.  or any kind of interactivity.  
  17.   
  18.  curl offers busload of useful tricks like proxy support, user  
  19.  authentication, FTP upload, HTTP post, file transfer resume and more.  
  20. Homepage: http://curl.haxx.se  
  21. Original-Maintainer: Ramakrishnan Muthukrishnan   

上面的会先说明我是已经安装过了的,如果没有安装应该是类似如下的回显。

 

 

[plain]  view plain copy
  1. abbuggy@abbuggy-ubuntu:~$ dpkg -s curl  
  2. 系统没有安装软件包 curl,因而没有相关的信息。  
  3. 使用 dpkg --info (= dpkg-deb --info) 来检测打包好的文件,  
  4. 还可以通过 dpkg --contents (= dpkg-deb --contents) 来列出它们的内容。  

那么安装就行了sudo apt-get install curl

 

安装rvm

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

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

 

[plain]  view plain copy
  1. abbuggy@abbuggy-ubuntu:~$ curl -L get.rvm.io bash -s stable  
  2.   Total    Received Xferd  Average Speed   Time    Time     Time  Current  
  3.                                  Dload  Upload   Total   Spent    Left  Speed  
  4. 100   185  100   185           144       0:00:01  0:00:01 --:--:--   906  
  5. 100 10235  100 10235          3929       0:00:02  0:00:02 --:--:-- 10888  
  6. Downloading RVM from wayneeseguin branch stable  
  7.   Total    Received Xferd  Average Speed   Time    Time     Time  Current  
  8.                                  Dload  Upload   Total   Spent    Left  Speed  
  9. 100   131  100   131            62       0:00:02  0:00:02 --:--:--   143  
  10. 100 1124k  100 1124k          127k       0:00:08  0:00:08 --:--:--  269k  
  11.   
  12. Installing RVM to /home/abbuggy/.rvm/  
  13.     RVM PATH line found in /home/abbuggy/.bashrc /home/abbuggy/.zshrc.  
  14.     RVM sourcing line found in /home/abbuggy/.bash_profile /home/abbuggy/.zprofile.  
  15.   
  16. RVM:  Shell scripts enabling management of multiple ruby environments.  
  17. RTFM: https://rvm.io/  
  18. HELP: http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net)  
  19. Cheatsheet: http://cheat.errtheblog.com/s/rvm/  
  20. Screencast: http://screencasts.org/episodes/how-to-use-rvm  
  21.   
  22. In case of any issues read output of 'rvm requirements' and/or 'rvm notes'  
  23.   
  24. Installation of RVM in /home/abbuggy/.rvm/ is almost complete:  
  25.   
  26.   To start using RVM you need to run `source /home/abbuggy/.rvm/scripts/rvm`  
  27.     in all your open shell windows, in rare cases you need to reopen all shell windows.  
  28.   
  29. abbuggy,  
  30.  
  31.   Thank you for using RVM!  
  32.   sincerely hope that RVM helps to make your life easier and more enjoyable!!!  
  33.  
  34. ~Wayne  

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

 

 

[plain]  view plain copy
  1. [[ -s "$HOME/.rvm/scripts/rvm" ]] && "$HOME/.rvm/scripts/rvm" This loads RVM into 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的版本

 

[plain]  view plain copy
  1. abbuggy@abbuggy-ubuntu:~$ rvm -v  
  2.   
  3. rvm 1.16.20 (stable) by Wayne E. Seguin Michal Papis  [https://rvm.io/]  

通过rvm requirements命令,可以察看安装各版本时候的前提条件。其中这句是需要关注的。这是安装依赖的第三方包,没有这个安装不成功岂不是很悲剧?

 

[plain]  view plain copy
  1. Additional Dependencies:  
  2. For Ruby Ruby HEAD (MRI, Rubinius, REE), install the following:  
  3.   ruby: /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config  

这样一来,安装ruby的准备工作就完成了。察看当前RVM中已经安装的ruby版本,现在应该还没有。

 

 

[plain]  view plain copy
  1. abbuggy@abbuggy-ubuntu:~$ rvm list  
  2.   
  3. rvm rubies  
  4.   
  5. No rvm rubies installed yet. Try 'rvm help install'.  

察看RVM可供安装的ruby版本

 

 

[plain]  view plain copy
  1. abbuggy@abbuggy-ubuntu:~$ rvm list known  
  2. MRI Rubies  
  3. [ruby-]1.8.6[-p420]  
  4. [ruby-]1.8.7-p370  
  5. [ruby-]1.8.7[-p371]  
  6. [ruby-]1.9.1[-p431]  
  7. [ruby-]1.9.2-p180  
  8. [ruby-]1.9.2-p290  
  9. [ruby-]1.9.2-p318  
  10. [ruby-]1.9.2[-p320]  
  11. [ruby-]1.9.2-head  
  12. [ruby-]1.9.3-preview1  
  13. [ruby-]1.9.3-rc1  
  14. [ruby-]1.9.3-p0  
  15. [ruby-]1.9.3-p125  
  16. [ruby-]1.9.3-p194  
  17. [ruby-]1.9.3-p286  
  18. [ruby-]1.9.3-[p327]  
  19. [ruby-]1.9.3-head  
  20. [ruby-]2.0.0-preview1  
  21. ruby-head  

安装ruby 1.9.3-head,在不发生歧义的情况下方括号内的东西可以不必敲。

 

 

[plain]  view plain copy
  1. abbuggy@abbuggy-ubuntu:~$ rvm install 1.9.3-head  

之后等呀等呀自动安装了1.8.7和1.9.3

 

 

[plain]  view plain copy
  1. abbuggy@abbuggy-ubuntu:~$ rvm list  
  2.   
  3. rvm rubies  
  4.   
  5.    ruby-1.8.7-p371 i686  
  6.    ruby-1.9.3-head i686  
  7.   
  8. Default ruby not set. Try 'rvm alias create default '.  

选择1.9.3作为当前的使用版本,并且设置为缺省

 

 

[plain]  view plain copy
  1. abbuggy@abbuggy-ubuntu:~$ rvm use ruby-1.9.3-head --default  
  2. Using /home/abbuggy/.rvm/gems/ruby-1.9.3-head  

设置好之后察看ruby版本

 

 

[plain]  view plain copy
  1. abbuggy@abbuggy-ubuntu:~$ ruby -v  
  2. ruby 1.9.3p327 (2012-11-10) [i686-linux]  

察看ruby的路径,就是RVM帮我们安装的

 

 

[plain]  view plain copy
  1. abbuggy@abbuggy-ubuntu:~$ which ruby  
  2. /home/abbuggy/.rvm/rubies/ruby-1.9.3-head/bin/ruby  

短路RVM

 

刚才是用RVM进行ruby版本管理,当然了通过其他渠道例如apt-get也可以安装ruby,可以对RVM设置短路以便使用系统默认的ruby版本。

 

[plain]  view plain copy
  1. abbuggy@abbuggy-ubuntu:~$ rvm use system  
  2. Now using system ruby.  
  3. abbuggy@abbuggy-ubuntu:~$ ruby -v  
  4. ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]  
  5. abbuggy@abbuggy-ubuntu:~$ which ruby  
  6. /usr/bin/ruby  

卸载RVM

 

不想玩了,我要卸载。这个命令会移除$HOME/.rvm目录下面的所有东西即RVM管理的版本们。

 

[plain]  view plain copy
  1. rvm implode  

也应该删除$HOME/.bash_profile中增加的相关内容。

图片资源来自http://www.vgcats.com/comics/?strip_id=285

http://blog.youkuaiyun.com/abbuggy/article/details/8170899

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值