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

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等等,非常适合新手老手使用,简直是居家旅行必备良药。

(0)

相关推荐

  • 学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等)

    Ruby 这个就不用多说了 RVM 用于帮你安装Ruby环境,帮你管理多个Ruby环境,帮你管理你开发的每个Ruby应用使用机器上哪个Ruby环境.Ruby环境不仅仅是Ruby本身,还包括依赖的第三方Ruby插件.都由RVM管理. Rails 这个也不用多说,著名开发框架.详细看 http://zh.wikipedia.org/wiki/Ruby_on_Rails RubyGems RubyGems是一个方便而强大的Ruby程序包管理器( package manager),类似RedHat的RP

  • 使用RVM实现控制切换Ruby/Rails版本

    在学习Ruby on Rails的过程中,不同教程使用的Ruby和Rails版本不一样,为了保持和教程中使用的版本一致,我们可以用RVM(Ruby Version Manager)来控制当前的Ruby/Rails版本,方便切换. RVM的安装在这里不是重点,不懂的话可以参考: 如何快速正确的安装 Ruby, Rails 运行环境. 安装其他版本Ruby 安装当前最新版本2.4.1 $ rvm install 2.4.1 查看目前安装的Ruby版本 $ rvm list 切换到指定版本(前提是已安

  • 教你如何在ubuntu15.04安装 RVM

    RVM 官方网站 https://rvm.io/ 1 由于现在很多网站都转向https链接,所以,根据rvm官方的教程 另,最好还是以单用户的形式安装,也就是安装到非ROOT用户目录下. 1.1 设置https验证,如果按照以前的教程的话是没有这一部的,不过现在需要了,否则会报错. 复制代码 代码如下: gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 PS:非  r

  • RVM安装和使用总结笔记

    安装RVM命令: 复制代码 代码如下: bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head ) 然后修改用户配置文件/Users/username/.profile,你也可以写到别的全局配置里. 添加一行代码: 复制代码 代码如下: [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm&q

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

    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 安装源到国内的 淘宝镜像服务器,

  • Windows下Ruby on Rails开发环境安装配置图文教程

    本文详细介绍如何在Windows配置Ruby on Rails 开发环境,希望对ROR初学者能有帮助. 一.下载并安装Ruby Windows下安装Ruby最好选择 RubyInstaller(一键安装包). 下载地址: http://rubyforge.org/frs/?group_id=167 . 我们这里下载目前较新的rubyinstaller-1.9.3-p0.exe 一键安装包.这个安装包除了包含ruby本身,还有许多有用的扩展(比如gems)和 帮助文档. 双击安装,安装过程出现如下

  • Elasticsearch工具cerebro的安装与使用教程

    Cerebro是Elasticsearch 版本5.x 以前插件 Elasticsearch Kopf 的演变,可以通过图形界面查看分片分配和执行常见的索引操作.完全开源,需要依赖 Java 1.8 或更高版本才能运行. 1. 工具信息 项目 说明 类型 开源 项目地址 https://github.com/lmenezes/cerebro/ 开发框架 Scala, Play Framework, AngularJS , Bootstrap 当前稳定版本 v0.9.3 (2020.12.27)

  • 使用ruby部署工具mina快速部署nodejs应用教程

    前面有一篇文章讲到过用git的hook部署应用,hook的方法有一个缺陷就是每次都要到服务器去修改一下hook对应的配置文件,这个配置文件是与当前仓库分离的,调试上会有一些麻烦,借助ruby的一个部署工具mina可以快速的在服务器部署nodejs应用. 安装mina 复制代码 代码如下: gem install mina 安装之后,它需要一个配置文件,默认情况下是当前目录的config/deploy.rb 简单的配置 复制代码 代码如下: require 'mina/git' require '

  • python进程管理工具supervisor的安装与使用教程

    前言 在一个分布式环境中,每台机器上可能需要启动和停止多个进程,使用命令行方式一个一个手动启动和停止非常麻烦,而且查看每个进程的状态也很不方便.如果有一个工具能够实现每台机器上多个进程的简单高效中心化管理将是非常方便的.于是Supervisord工具应运而生.与Supervisord类似的工具包括monit, daemontools和runit.下面话不多说了,来一起看看详细的介绍吧. 安装 Supervisord是运行在Python环境下的服务监控程序,所以在安装supervisord之前必须

  • Redis官方可视化工具RedisInsight的安装使用详细教程(功能强大)

    目录 RedisInsight简介 RedisMod简介 安装 使用 基本使用 CLI Profiler 可视化监控 安装Grafana 使用 总结 是能支持RedisJSON之类的新特性,这是第三方工具无法比拟的. RedisInsight简介 RedisInsight是Redis官方出品的可视化管理工具,可用于设计.开发.优化你的Redis应用.支持深色和浅色两种主题,界面非常炫酷!可支持String.Hash.Set.List.JSON等多种数据类型的管理,同时支持远程使用CLI功能,功能

  • Node.js的项目构建工具Grunt的安装与配置教程

    Grunt 基于 Node.js ,用 JS 开发,这样就可以借助 Node.js 实现跨系统跨平台的桌面端的操作,例如文件操作等等.此外,Grunt 以及它的插件们,都作为一个 包 ,可以用 NPM 安装进行管理. 所以 NPM 生成的 package.json 项目文件,里面可以记录当前项目中用到的 Grunt 插件,而 Grunt 会调用 Gruntfile.js 这个文件,解析里面的任务(task)并执行相应操作. 安装 Grunt-cli 其实是安装 Grunt-cli ,这里安装Gr

  • Windows上node.js的多版本管理工具用法实例分析

    本文实例讲述了Windows上node.js的多版本管理工具用法.分享给大家供大家参考,具体如下: 在Linux上我一直使用nvm来管理nodejs的不同版本,但是nvm没有windows版本,今天发现在windows上可以使用另外一个版本管理工具nvm-windows来管理. 下载与安装 下载地址:https://github.com/coreybutler/nvm-windows/releases 安装前,这里有一点需要注意,如果以前安装过node,需要先卸载,并且要把目录清理干净.下面是官

  • 在Eclipse中使用版本管理工具SVN的图文教程

    近日工程中,逐渐感觉到原来复制粘贴代码的笨重,突然想起以前有人和我说起过Git和SVN之类的版本管理工具.由于平时主要是写Java代码,所以能够在Eclipse中使用SVN工具进行版本管理就可以说是很方便了.今天下午动手解决了这一问题,可以初步使用,但是自己对于版本管理的概念不太熟悉,可能有错误,就当是今天工作的一个归纳总结吧. 1.SVN安装 由于这些代码都是自己写的,所以不需要在服务器上进行版本管理,只用本地的版本管理即可(好吧,确实有点low了).自己的系统是win7 32-bit的,所以

  • 一文读懂Python版本管理工具Pyenv使用

    pyenv简单介绍 在日常运维中, 经常遇到这样的情况: 系统自带的Python是2.x,而业务部署需要Python 3.x 环境, 此时需要在系统中安装多个Python版本,但又不能影响系统自带的Python 版本,即需要实现Python的多版本环境共存, pyenv就是这样一个Python版本管理器, 可以同时管理多个python版本共存! 简单的说,pyenv 可以根据需求使用户在系统里安装和管理多个Python 版本: - 配置当前用户的python的版本; - 配置当前shell的py

随机推荐