参考博客:http://blog.51cto.com/dellinger/2091771

https://www.cnblogs.com/felixzh/p/8081622.html

官网地址 https://rvm.io/rvm/install

ruby报错参看博客:https://www.cnblogs.com/hongfei/p/3678123.html

一、前提  centos6.8下ruby环境介绍:

[root@xiaoyuer ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[root@xiaoyuer ~]# uname -r
2.6.32-642.6.2.el6.x86_64
[root@xiaoyuer ~]# getenforce
Disabled
[root@xiaoyuer ~]# hostname -I
172.21.0.10
[root@xiaoyuer ~]# hostname
xiaoyuer
[root@xiaoyuer ~]# /etc/init.d/iptables status
iptables: Firewall is not running.
[root@xiaoyuer ~]#

系统环境

第1章 RVM 安装Ruby 的安装与切换

1.1 作为第一步安装用于验证安装包的mpapis 公钥以确保安全

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

[root@ruby ~]# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

gpg: directory `/root/.gnupg' created

gpg: new configuration file `/root/.gnupg/gpg.conf' created

gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run

gpg: keyring `/root/.gnupg/secring.gpg' created

gpg: keyring `/root/.gnupg/pubring.gpg' created

gpg: requesting key D39DC0E3 from hkp server keys.gnupg.net

gpg: requesting key 39499BDB from hkp server keys.gnupg.net

gpg: /root/.gnupg/trustdb.gpg: trustdb created

gpg: key D39DC0E3: public key "Michal Papis (RVM signing) <mpapis@gmail.com>" imported

gpg: key 39499BDB: public key "Piotr Kuczynski <piotr.kuczynski@gmail.com>" imported

gpg: no ultimately trusted keys found

gpg: Total number processed: 2

gpg:               imported: 2  (RSA: 2)

1.2 安装RVM

在官网上开发版

Install RVM (development version):

\curl -sSL https://get.rvm.io | bash

稳定版

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

1.2.1 让环境变量生效

$ source ~/.bashrc
$ source ~/.bash_profile

1.3 列出已知的 Ruby 版本

1.3.1.1      rvm list know

[root@ruby ~]# rvm list known

# MRI Rubies

[ruby-]1.8.6[-p420]

[ruby-]1.8.7[-head] # security released on head

[ruby-]1.9.1[-p431]

[ruby-]1.9.2[-p330]

[ruby-]1.9.3[-p551]

[ruby-]2.0.0[-p648]

[ruby-]2.1[.10]

[ruby-]2.2[.7]

[ruby-]2.3[.4]

[ruby-]2.4[.1]

ruby-head

。。。。。。

1.4 和安装ruby版本

rvm list

[root@ruby ~]# rvm list

rvm rubies

* ruby-2.2.0 [ x86_64 ]

   ruby-2.3.0 [ x86_64 ]

=> ruby-2.4.0 [ x86_64 ]

# => - current

# =* - current && default

#  * - default

1.5 安装Ruby 版本

rvm install 2.4.0 --disable-binary

rvm install 2.3.0 --disable-binary

rvm install 2.2.0 --disable-binary

1.6 切换 Ruby 版本

rvm use 2.4.0

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

rvm use 2.4.0 --default

1.6.2 卸载一个已安装版本

rvm remove 2.2.0

第2章 gemset 的使用

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

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

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

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

2.1 建立 gemset

rvm use 2.4.0

rvm gemset create xiaoyuer3.3

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

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

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

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

rvm use 2.4.0

rvm use 2.4.0@zjy

2.3 rvm g列出当前 Ruby 的

gemsetemset list

2.4 清空 gemset 中的 Gem

rvm gemset empty 2.4.0@zjy

2.5 删除一个 gemset

rvm gemset delete xiaoyuer2.3

2.6 项目自动加载 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 gem

ruby整理的更多相关文章

  1. ruby中tes-unitt数据初始化方法整理

    在用ruby做测试时,很多时候需要一些数据初始化以及事后的数据恢复还原之类的操作,下面整理了这些方法.require "test/unit" class TestAnion < ...

  2. 【Ruby on Rails学习二】在线学习资料的整理

    由于工作任务重,时间紧,没有太多学习的时间,大致找了些在线学习资料,这里做个整理,希望对同样准备学习的朋友有帮助 在线文档类: Ruby on Rails 实战圣经  使用 Rails 4.2 及 R ...

  3. Ruby数组方法整理

    数组方法整理 方法列表: all().any().none()和one():测试数组中的所有或部分元素是否满足给定条件.条件可以是语句块中决定,也可以是参数决定 append():等价于push() ...

  4. Ruby字符串(2):String方法详细整理

    String方法整理 官方手册 类方法 new new(str="") → new_str new(str="", encoding: enc) → new_s ...

  5. 总结整理 -- ruby系列

    基础学习 ruby -- 基础学习(一)项目文件夹说明 ruby -- 基础学习(二) 外键配置实现级联删除 ruby -- 基础学习(三)设置中国时区时间 ruby -- 基础学习(四)TimeDa ...

  6. [置顶] ruby变量详解(收集+整理)

    ruby的变量有局部变量,全局变量,实例变量,类变量,常量. 1.局部变量 局部变量以一个小写字母开头或下划线开头 局部变量有局部作用域限制(比如一个block内),它的作用域起始于声明处,结束于该声 ...

  7. 整理Ruby相关的各种概念(rvm, gem, bundle, rake, rails等)

    转自:http://henter.me/post/ruby-rvm-gem-rake-bundle-rails.html Ruby 这个就不用多说了 RVM 用于帮你安装Ruby环境,帮你管理多个Ru ...

  8. ruby离线安装整理

    参考官方文档: https://rvm.io/rvm/offline 参考博客:https://blog.csdn.net/topswim/article/details/79260369 一.前提  ...

  9. Perl、PHP、Python、Java 和 Ruby 比较【转载+整理】

    从本文的内容上,写的时间比较早,而且有些术语我认为也不太准,有点口语化,但是意思到了. 问题: Perl.Python.Ruby 和 PHP 各自有何特点? 为什么动态语言多作为轻量级的解决方案? L ...

随机推荐

  1. neo4j-rest-client使用摘要

    1.使用它的原因,与django搭配的最好的neomodel目前只支持到v2.2,我已给官方发了issue,官方也回复了,马上修改并发布(老外对开源项目的负责态度让人感动) 2.这个库的文档中大概描述 ...

  2. Redis实现简单消息队列

    http://www.jianshu.com/p/9c04890615ba 任务异步化 打开浏览器,输入地址,按下回车,打开了页面.于是一个HTTP请求(request)就由客户端发送到服务器,服务器 ...

  3. DDGScreenShot—截取图片的任意部分

    写在前面 DDGScreenShot 库提供了截取任意图片的功能, 支持手势截图,当然,输入任意的区域也可以,下面看看具体的代码 代码如下: 方法封装 /** ** 用手势截图(截取图片的任意部分) ...

  4. threesum

    算法题 问题描述:在一些给定的数中,找到三个数,他们相加的和是0,并且这三个数的组合是不能重复的 例子: input [-1, 0, -1, 2, 1] Output [[-1, 1 ,0], [-1 ...

  5. Unity5 打assetbundle时,无法打成图集仍然是散图的原因

    首先需要把 SpritePacker设置成可用 菜单Edit->project setting->editor      修改为可用 然后,保证所有图片的导入格式如下 最主要是 packi ...

  6. Python 3 利用 Dlib 19.7 实现摄像头人脸识别

    0.引言 利用python开发,借助Dlib库捕获摄像头中的人脸,提取人脸特征,通过计算欧氏距离来和预存的人脸特征进行对比,达到人脸识别的目的: 可以自动从摄像头中抠取人脸图片存储到本地: 根据抠取的 ...

  7. cocos2d-x 欢乐捕鱼游戏总结

    这几天一直都在做一个捕鱼游戏Demo,大概花掉了我快一个礼拜的时间.游戏主体是使用的cocos2d-x高级开发教程里面提供的小部分框架基本功能.然后自己加入所有的UI元素和玩法.变成了一个体验不错的捕 ...

  8. C#学习(一):委托和事件

    预备知识 在学习委托和事件之前,我们需要知道的是,很多程序都有一个共同的需求,即当一个特定的程序事件发生时,程序的其他部分可以得到该事件已经发生的通知. 而发布者/订阅者模式可以满足这种需求.简单来说 ...

  9. PAT1003:Emergency

    1003. Emergency (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue As an emerg ...

  10. JAVA Set 交集,差集,并集

    /** * Created by yuhui on 2017/7/11 0011. */ import java.util.HashSet; import java.util.Set; public ...