发现了一个非常Amzaing的Ruby的工具RVM,用于安装和管理Ruby的多个版本。相比较于直接在系统中安装不同版本的Ruby,然后使用时切换到对应的版本,这种方式实在是酷毙了,使ruby安装变得非常单纯,切换不同版本变得非常简单。

安装RVM

RVM提供了一个脚本用于安装RVM。
下载并使用安装脚本安装RVM:

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

\(backslash)后面加一个命令,类似与command [command],可以消除alias,直接调用对应的命令。
https://get.rvm.io 指向 https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer,RVM的安装脚本。
参数-stable,使安装脚本下载安装RVM的Stable版本。其他可用参数请参考:https://rvm.io/rvm/install

RVM安装成功后,将$HOME/.rvm/bin加到.bashrc中。
重新加载bashrc:

$ source ~/.bashrc

加载rvm的配置文件:

$ source ~/.rvm/scripts/rvm

测试是否安装配置成功:

$ type rvm | head -n 1
rvm is a function

如果输出 rvm is a function 代表安装成功,如果输出 rvm is a hash,重新加载rvm的配置文件。

安装Ruby

RVM安装成功后可以使用RVM来安装每个版本的Ruby了。
查看可以下载安装的版本:

$ rvm list konwn
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-p374]
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p320]
[ruby-]1.9.3[-p448]
[ruby-]2.0.0-p195
[ruby-]2.0.0[-p247]
[ruby-]2.1.0-preview1
[ruby-]2.1.0-head
ruby-head # GoRuby
goruby
...

安装一个版本,例如2.0.0:

$ rvm install 2.0.0

当前使用的rvm,在安装2.0.0过程中,安装rubygems时会报错:There is no checksum for rubygems
更新rvm的版本可以解决这个问题: $ rvm get head

使用刚刚安装的版本:

$ rvm use 2.0.0
Using /home/an/.rvm/gems/ruby-2.0.0-p247

检测ruby版本,确认已经成功安装:

$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [i686-linux]
$ which ruby
/home/user/.rvm/rubies/ruby-2.0.0-p247/bin/ruby

OK,如上所以已经成功使用RVM安装2.0.0版本的ruby,而且RVM将安装的ruby全部i放在~/.rvm下面,不会对系统有任何影响而且易于管理,Amazing的工具。

RVM 多版本Ruby管理-Gentoo的更多相关文章

  1. RVM Ruby 管理工具

    1.RVM 简介 1.1 Ruby 简介 Ruby 是一种面向对象的脚本语言,简单易用,功能强大.能跨平台和可移植性好等等.其实就是种脚本语言. Ruby 的软件源使用的是亚马逊的云服务,国内网络环境 ...

  2. 使用rbenv 进行ruby 多版本的管理

    今天需要安装一个ruby 包,但是ruby 版本过低,以前使用过rvm,但是在安装rvm 的时候发现系统有异常 错误信息,发现还有另外一个不错的可选工具 rbenv 安装 我是mac 系统 使用bre ...

  3. 安装Ruby、多版本Ruby共存、Ruby安装慢问题

    rbenv rbenv可以管理多个版本的ruby.可以分为3种范围(或者说不同生效作用域)的版本: local版:本地,针对各项目范围 global版:全局,没有shell和local版时使用glob ...

  4. [转]Spring3 MVC + jQuery easyUI 做的ajax版本用户管理

    原文地址:http://www.iteye.com/topic/1081739 上周写了篇基于spring3.0.5 mvc 简单用户管理实例 ( http://www.iteye.com/topic ...

  5. Ubuntu下多个版本OpenCV管理(Multiple Opencv version)

    背景: 最近,在Nvidia的GPU嵌入式开发板Jetson TX1(简称TX1)上移植深度学习目标检测算法YOLO.在TX1上安装了官方提供的opencv版本——OpenCV4Tegra(OpenC ...

  6. 版本分支管理标准 - Trunk Based Development 主干开发模型

    之前分享过<版本分支管理标准 - Git Flow>,不过在实际使用过程中, 因为其有一定的复杂度,使用起来较为繁琐,所以一些人员较少的团队并不会使用这个方案. 在这基础上,一些新的分支管 ...

  7. Pull Request的过程、基于git做的协同开发、git常见的一些命令、git实现代码的review、git实现版本的管理、gitlab、GitHub上为开源项目贡献代码

    前言: Pull Request的流程 1.fork 首先是找到自己想要pull request的项目, 然后点击fork按钮,此时就会在你的仓库中多出来一个仓库,格式是:自己的账户名/想要pull ...

  8. Mac 多版本 JDK 管理

    Mac 多版本 JDK 管理 1. 准备 ZSH Homebrew Oracle JDK 1.8 安装包(Homebrew 官方源和第三方源不再提供老版本的 Oracle JDK) 2. 安装 JDK ...

  9. 管理不同版本ruby和rails的利器——rvm

    近年来,ruby on rails逐渐火了起来,我想各位码农早就耳闻,特别是那些做B/S项目的童鞋,早就想跃跃一试了. 笔者也是初次接触ruby on rails ,我想,对于初学者来说,最好的学习方 ...

随机推荐

  1. 移动端自动化环境搭建-stuptools和pip的安装

    安装stuptools和pip A.安装依赖 setuptools 和 pip 并非必须安装的两个包,但安装之后,后续再安装 Python 的库将变得非常简单. B.安装过程

  2. c语言自定义BOOL函数

    C语言中没有BOOL类型变量,它是C++独有的,由于使用BOOL类型可以使代码更具有可读性,很多编程者都在C中自己定义了类似的应用,一般方法有两种: 第一种:采用宏定义方式 typedef int B ...

  3. 用CMake构建Qt5的Visual Studio工程

    使用Visual Studio构建Qt工程的方法有很多种,可以使用Visual Studio自带的功能手动创建配置工程,也可以创建pro文件,然后通过VS的Qt插件导入进行创建.还有一种方式是通过CM ...

  4. XML语法

    xml文档内容如下:(必须全英文输入,空格都要是英文的!) 1.文档声明 2.元素 3.属性 4.注释 5.CDATA区.特殊字符 6.处理指令 <?xml version="1.0& ...

  5. Linux 之集群 LVS

    查看系统是否支持IPVS功能 [root@nginx ~]# grep -i 'ipvs' /boot/config-2.6.18-308.el5 # IPVS transport protocol ...

  6. Android框架中的广播机制

    一.广播通过Intent发送出去 // 定义广播的意图过滤器 private String action = "com.xxx.demo.Broadcast.STATUS_CHANGED&q ...

  7. truncate table和delete table 的区别

    truncate table和不带 where 的 detele 功能一样,都是删除表中的所有数据. 但TRUNCATE TABLE 速度更快,占用的日志更少,这是因为 TRUNCATE TABLE ...

  8. Git的基础

    http://backlogtool.com/git-guide/cn/intro/intro2_3.html

  9. 集合框架之——迭代器并发修改异常ConcurrentModificationException

    问题: 我有一个集合,如下,请问,我想判断里面有没有"world"这个元素,如果有,我就添加一个"javaee"元素,请写代码实现. 使用普通迭代器出现的异常: ...

  10. js-url打开方式

    引用自 : 老张的博客 *.location.href 用法: top.location.href="url"          在顶层页面打开url(跳出框架) self.loc ...