参考博客: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