RVM 是一个命令行工具,可以提供一个便捷的多版本 Ruby 环境的管理和切换。

https://rvm.io/

如果你打算学习 Ruby / Rails, RVM 是必不可少的工具之一。

这里所有的命令都是再用户权限下操作的,任何命令最好都不要用 sudo.

RVM 安装

$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ \curl -sSL https://get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile

修改 RVM 的 Ruby 安装源到 Ruby China 的 Ruby 镜像服务器,这样能提高安装速度

$ echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db

Ruby 的安装与切换

列出已知的 Ruby 版本

rvm list known

安装一个 Ruby 版本

rvm install 2.2.0 --disable-binary

这里安装了最新的 2.2.0, rvm list known 列表里面的都可以拿来安装。

切换 Ruby 版本

rvm use 2.2.0

如果想设置为默认版本,这样一来以后新打开的控制台默认的 Ruby 就是这个版本

rvm use 2.2.0 --default 

查询已经安装的ruby

rvm list

卸载一个已安装版本

rvm remove 1.8.7

gemset 的使用

RVM 不仅可以提供一个多 Ruby 版本共存的环境,还可以根据项目管理不同的 gemset.

gemset 可以理解为是一个独立的虚拟 Gem 环境,每一个 gemset 都是相互独立的。

比如你有两个项目,一个是 Rails 2.3 一个是 rails3. gemset 可以帮你便捷的建立两套 Gem 开发环境,并且方便的切换。

gemset 是附加在 Ruby 语言版本下面的,例如你用了 1.9.2, 建立了一个叫 rails3 的 gemset,当切换到 1.8.7 的时候,rails3 这个 gemset 并不存在。

建立 gemset

rvm use 1.8.7
rvm gemset create rails23

然后可以设定已建立的 gemset 做为当前环境

use 可以用来切换语言或者 gemset

前提是他们已经被安装(或者建立)。并可以在 list 命令中看到。

rvm use 1.8.7
rvm use 1.8.7@rails23

然后所有安装的 Gem 都是安装在这个 gemset 之下。

列出当前 Ruby 的 gemset

rvm gemset list

清空 gemset 中的 Gem

如果你想清空一个 gemset 的所有 Gem, 想重新安装所有 Gem,可以这样

rvm gemset empty 1.8.7@rails23

删除一个 gemset

rvm gemset delete rails2-3

项目自动加载 gemset

RVM 还可以自动加载 gemset。 例如我们有一个 Rails 3.1.3 项目,需要 1.9.3 版本 Ruby,整个流程可以这样。

rvm install 1.9.3
rvm use 1.9.3
rvm gemset create rails313
rvm use 1.9.3@rails313

下面进入到项目目录,建立一个 .rvmrc 文件。

在这个文件里可以很简单的加一个命令:

rvm use 1.9.3@rails313

然后无论你当前 Ruby 设置是什么,cd 到这个项目的时候,RVM 会帮你加载 Ruby 1.9.3 和 rails313 gemset.



https://ruby-china.org/wiki/rvm-guide
http://www.runoob.com/ruby/ruby-installation-unix.html

RVM 安装 Ruby的更多相关文章

  1. 【转】rvm安装ruby,gem,rails,之后仍然无法找到rails命令

    转自:http://chinacheng.iteye.com/blog/1738036 rvm安装ruby和rails之后,ruby -v好使,gem -v好使.但是rails -v不好使,提示没有安 ...

  2. 通过RVM安装Ruby失败

    第一次安装失败是由于Homebrew一直安装不成功,遂去http://brew.sh/index_zh-cn.html官网 通过 /usr/bin/ruby -e "$(curl -fsSL ...

  3. 用Rvm安装Ruby,Rails运行环境及常见错误解决方法

    一.安装Rvm 1.下载安装Rvm $ curl -L https://get.rvm.io | bash -s stable 此时可能出现错误:"gpg: 无法检查签名:找不到公钥&quo ...

  4. rvm的安装, 使用rvm, 安装ruby, 以及gem的使用 (转)

    http://blog.163.com/digoal@126/blog/static/1638770402012425111617904/ rvm 全称Ruby Version Manager,  确 ...

  5. rvm 安装ruby环境报错curl: (35) error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure

    很可能是rvm仓库版本过低,运行以下命令: rvm get head

  6. iOS工具】rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决

    〇.前言 <p>在iOS开发中 CocoaPods作为库依赖管理工具就是一把利器. 有了 CocoaPods则无需再通过拖 第三方库及第三方库所依赖的 framework静态库到项目中等麻 ...

  7. 如何在Mac OS X上安装 Ruby运行环境

    对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 首先确定操 ...

  8. Mac OS X上安装 Ruby运行环境

    环境   对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 ...

  9. 【ruby】安装Ruby

    系统需求 首先确定操作系统环境,不建议在 Windows 上面搞,所以你需要用: Mac OS X 任意 Linux 发行版本 配置系统包 $ sudo apt-get install -y buil ...

随机推荐

  1. 用js来实现那些数据结构15(图01)

    其实在上一篇介绍树结构的时候,已经有了一些算法的相关内容介入.而在图这种数据结构下,会有更多有关图的算法,比如广度优先搜索,深度优先搜索最短路径算法等等.这是我们要介绍的最后一个数据结构.同时也是本系 ...

  2. MAC OSX下用pip安装lxml时遇到xmlversion.h not found的解决办法

    http://blog.csdn.NET/wave_1102/article/details/37730589 今天在Mac下用pip安装lxml,总是报如下错误: etree_defs.h::: f ...

  3. codeforces——961B. Lecture Sleep

    本文为博主原创文章,未经允许不得转载. 我在csdn也同步发布了此文,链接 https://blog.csdn.net/umbrellalalalala/article/details/7989196 ...

  4. 如何避免 await/async 地狱

    原文地址:How to escape async/await hell 译文出自:夜色镇歌的个人博客 async/await 把我们从回调地狱中解救了出来,但是如果滥用就会掉进 async/await ...

  5. hadoop HA 详解

    NameNode 高可用整体架构概述 在 Hadoop 1.0 时代,Hadoop 的两大核心组件 HDFS NameNode 和 JobTracker 都存在着单点问题,这其中以 NameNode ...

  6. 14.Ubuntu基本命令

    vi编辑器 {  :上一段diamante } :下一段代码 dw: 删除一个单词 权限 前面的分三组 第一: 文件拥有者的权限 第二:同组者拥有的权限 第三:其他人拥有的权限 前面“-”表示是文件 ...

  7. 虚拟机中克隆后使用eth0

    1.修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=mini1 1.修改ip地址以及udev记录网络规则的脚本 在CentOS中,ude ...

  8. git-------基础(一)

    更改连接仓库只用操作一次(先删后加) (1)git remote rm origin                                  //若本地已经关联了一个远程库,则先删除已关联的 ...

  9. XSS(跨域脚本攻击)应对之道

    1.概念 xss一般分为两类,反射型和存储型. 反射型xss指的是客户端的不安全输入而引起的攻击,例如: 在某网站搜索,搜索结果会显示搜索的关键词,搜索时关键词填入<script>aler ...

  10. git merge 撤销与git 回滚

    git merge提交后恢复 http://blog.psjay.com/posts/git-revert-merge-commit/ git回滚 https://www.jianshu.com/p/ ...