Ruby版本管理工具RVM的安装和使用教程

 更新时间:2015年08月03日 09:38:15   投稿:goldensun  
这篇文章主要介绍了Ruby版本管理工具RVM的安装和使用教程,本文示例基于类Unix的系统环境,需要的朋友可以参考下

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

https://rvm.io/

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

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

$ curl -L get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile

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

$ sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' ~/.rvm/config/db

Ruby 的安装与切换

列出已知的 Ruby 版本

rvm list known

安装一个 Ruby 版本

rvm install 2.2.0

这里安装了最新的 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.
使用 RVM 快速部署 Nginx + Passenger

首先安装 Passenger

gem install passenger

然后使用 passenger-install-nginx-module 来安装 Nginx 和部署。

因为这一步需要 root 权限(因为要编译 Nginx)可以用 rvmsudo 这个东西(这个东西真是个好东西)。

rvmsudo passenger-install-nginx-module

然后会让你选择是下载 Nginx 源码自动编译安装,还是自己选择 Nginx 源码位置。

选择 Nginx 手动安装的可以添加别的编译参数,方便自定义编译 Nginx。

然后一路下载安装。默认的安装位置为 /opt/nginx.

然后看看 nginx.conf,都给你配置好了,只需要加上 root 位置(yourapp/public)就可以了。

当我第一次安装完成了,就惊呼,这也太爽了吧。

PS: RVM 是个好东西,做的很智能,(大部分)操作失败后会告诉你原因,然后告诉你需要安装哪些Lib等等,非常适合新手老手使用,简直是居家旅行必备良药。

相关文章

  • Ruby中的Proc类及Proc的类方法Proc.new的使用解析

    Ruby中的Proc类及Proc的类方法Proc.new的使用解析

    用Proc类可以用Proc.new来创建一个Proc类,进而来操作块,这里我们就来进行Ruby中的Proc类及Proc的类方法Proc.new的使用解析.
    2016-05-05
  • Ruby中的Hash哈希类型基本操作方法小结

    Ruby中的Hash哈希类型基本操作方法小结

    Hash类型在Ruby中就相当于Python的字典,是一个键值对应的集合类型,这里就来整理一下Ruby中的Hash哈希类型基本操作方法小结:
    2016-06-06
  • Ruby中的反射(Reflection)应用实例

    Ruby中的反射(Reflection)应用实例

    这篇文章主要介绍了Ruby中的反射(Reflection)应用实例,实现通过一个类名字符串构造一个类对象和访问成员变量和私有方法 ,需要的朋友可以参考下
    2014-06-06
  • Ruby 多线程的潜力和弱点分析

    Ruby 多线程的潜力和弱点分析

    这篇文章主要介绍了Ruby 多线程的潜力和弱点分析,本文讲解了Ruby 多线程和 IO Block、Ruby GIL 的影响、JRuby 去除了 GIL、Ruby 多线程总结等内容,需要的朋友可以参考下
    2015-03-03
  • Ruby使用GDBM操作DBM数据存储方法实例详解

    Ruby使用GDBM操作DBM数据存储方法实例详解

    这篇文章主要介绍了Ruby使用GDBM操作DBM数据存储方法实例详解,需要的朋友可以参考下
    2022-04-04
  • Ruby初学笔记之Hello World

    Ruby初学笔记之Hello World

    这篇文章主要介绍了Ruby初学笔记之Hello World,本文是一篇Ruby自学笔记,本文分别用普通方法、函数、类输出Hello World,从一个一个的例子中了解Ruby编程,需要的朋友可以参考下
    2015-06-06
  • Ruby基础语法初探

    Ruby基础语法初探

    这篇文章主要介绍了Ruby基础语法,第一次看到Ruby代码的朋友不知会不会被Ruby的语法吸引:) 需要的朋友可以参考下
    2015-07-07
  • 详解Ruby当中的算数运算

    详解Ruby当中的算数运算

    这篇文章主要介绍了详解Ruby当中的算数运算,是Ruby学习当中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Ruby中使用mechanize批量下载校内网相册照片

    Ruby中使用mechanize批量下载校内网相册照片

    这篇文章主要介绍了Ruby中使用mechanize批量下载校内网相册照片,本文直接给出实现代码,需要的朋友可以参考下
    2015-01-01
  • Ruby On Rails中如何避免N+1问题

    Ruby On Rails中如何避免N+1问题

    select语句的数目太多,需要频繁的访问数据库,会影响检索性能。如果需要查询n个Customer对象,那么必须执行n+1次select查询语句。这就是经典的n+1次select查询问题。
    2014-07-07

最新评论