RVM中文使用指南-程序员宅基地

技术标签: java  shell  ruby  


RVM中文使用指南

http://rvm.beginrescueend.com/

RVM

RVM简介

Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)。目前支持Ruby的大多数版本,有1.8.7,1.9.1,1.9.2和RubyEnterpriseEditon,通过RVM可以很方便的在多个Ruby版本中快速切换。RVM同时也支持JRuby。


设想当前工作在Ruby1.9.2+Rails3.0下,想体验最新的Rails开发版,怎么办?Gemset就是为解决这个问题而设计的,它可以为每个Ruby版本生成多个gemsets,各个gemset相互独立,这意味着你可以很方便的切换到某个gemset下去体验一个未正式发布的gem版本,而不会破杯当前的工作环境,完毕后,再切回到工作的gemset下即可。


大多的IDE也都很好的支持了RVM方面,可以自动识别RVM管理的Ruby版本和GemSet,方便你切换Ruby的解析环境。


关于RVM的工作原理,我会另写一篇文章来祥细解释。

RVM的安装与配置

$ bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

* 该命令需要git支持,Ubuntu上具体安装配置祥见:
http://lanvige.iteye.com/blog/851836


使用下面命令对RVM自己进行升级
$ rvm update

RVM 信息

通过以下几个命令查看当前RVM当前信息

Java代码 收藏代码
  1. $rvminfo
  2. $rvminfo1.9.2

Ruby的安装使用与管理

用这个命令查看有哪些RVM可用的Ruby版本
Java代码 收藏代码
  1. $rvmlistknown
  2. $rvminstall1.9.2#安装ruby-1.9.2
  3. $rvminstallree#installRubyEnterpriseEdition(REE)

安装多个版本的Ruby之后,RVM可以很方便的进行切换。使用下条命令可以设置某一版本为当前使用版本。

Java代码 收藏代码
  1. $rvmruby-1.8.7-p160#切换1.8.7-p160为当前使用版本
  2. $rvm1.8.7-p160#同上面命令一样rvmruby-1.8.7-p160
  3. $ruby-v#查看当前Ruby版本

查看当前Ruby的安装位置

Java代码 收藏代码
  1. $whichruby
设置默认使用版本
将某一个版本的ruby设为默认,这样避免每次启动新的Shell都要选择所要使用的Ruby版本。

Java代码 收藏代码
  1. $rvm--defaultuse1.9.2#设置1.9.2为默认版本
  2. $rvmdefault#通过default可以快速回到默认版本
  3. $rvmlistdefault#查看当前版本设置信息
  4. $rvmreset#恢复系统默认设置

查看已安装的Ruby信息

列出所有已经安装的Ruby的版本信息
Java代码 收藏代码
  1. $rvmlist#列出已安装的Ruby版本
  2. $rvmlistrubies#同上
  3. $rvmlistdefault#显示默认Ruby版本信息
  4. $rvmlistknown#列出RVM所支持的所有Ruby版本的信息

创建别名

使用带版本号的ruby时,每次切换时都要输入很长的版本号,非常的不方便,通过使用别名功能,可以创建很简短的别名来代替长长的ruby信息。
Java代码 收藏代码
  1. $rvmaliascreatereedree-1.8.7-p2010.01#为ree-187的Ruby版本创建一个别名叫:reed
  2. $rvmusereed#通过别名迅速切换
  3. $rvmaliasdeletereed#删除别名
  4. $rvmaliaslist#查看所有的别名

删除已安装版本

Java代码 收藏代码
  1. $rvmremoveruby-1.9.2-p0
  2. $rvmuninstallruby-1.9.2-p0

管理 Gemsets

一个gemset就是一个目录,是某一个Ruby版本的Gem使用集,通过环境变量配置,使该gemset下的gem命令导入到Shell。

一个Ruby版本初装时就默认给了一个同名的gemset,也就是说rvm ruyb-1.9.2-p0 命令在执行时,就是使用该环境变量。

创建

基于指定Ruby版本创建一个新的Gemset

Java代码 收藏代码
  1. $rvm1.9.2#???
  2. $rvmgemsetcreaterails3#创建一个名为rails3的gemset
使用
指定某一个gemset作为当前环境使用。

Java代码 收藏代码
  1. $rvm1.9.2#???
  2. $rvmgemsetuserails3#在当前Ruby下使用rails3这个gemset
  3. $rvmuseruby-1.9.2-p0@rails3#或者直接使用这种命名,直接指定ruby和gemset的信息。
  4. $rvmuseruby-1.9.2-p0@rails3--default#设置默认
查看Gemsets信息
Java代码 收藏代码
  1. $rvmdefault#选择使用ruby版本
  2. 列出当前Ruby版本下所有gemsets的信息r
  3. $rvmgemsetlist
  4. 列出所有Ruby版本下所有gemsets的信息
  5. $rvmgemsetlist_all
  6. 显示当前所使用的gemset信息
  7. $rvmgemsetname#当前gemset的名称
  8. rails3
  9. $rvmgemdir#所在位置
  10. ~/.rvm/gems/ruby-1.9.2-p0@rails3
删除
删除一个gemset,默认有确认操作,使用 --force 可跳过该步骤。
Java代码 收藏代码
  1. $rvmgemsetdeleterails3#会让确认一次
  2. $rvm--forcegemsetdeleterails3#直接删除,没有确定步骤
清空
可以清空一个Gemset,删除其中的所有的gems包

Java代码 收藏代码
  1. $rvmgemsetemptyrails3
  2. $rvm--forcegemsetemptyrails3#直接删除,没有确定步骤
导出
将当前gemsets内的信息导出到一个 name.gems文件,gems文件内定义gem的名称,版本号和其信赖关系。

Java代码 收藏代码
  1. $rvmgemsetexportrails3.gems
导入
将gems文件所指定的gems安装到当前gemset下。

Java代码 收藏代码
  1. $rvmgemsetrails3
  2. $rvmgemsetimportrails3
复制
可以将一个gemset内的所有gems包都复制到另一个gemset,很快速的复制一个当前环境。

Java代码 收藏代码
  1. $rvmgemsetcopy1.8.7@rails31.9.2-head@rails3

全局 gemsets(global gemsets)

每一个ruby版本都默认创建一个全局的gemset,以ruby_version@global命名,这样基于该ruby版本下所有的gemsets都会包含全局gemset里的gem包。可以起到统一约定的作用,也避免重复创建。
默认安装的globalgemset内仅有一个gem包:rake


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/iteye_21199/article/details/82405462

智能推荐

华三SDN产业链分析-程序员宅基地

文章浏览阅读218次。为什么80%的码农都做不了架构师?>>> ..._h3c virtual converged framework切片

手把手教你开发第一个HarmonyOS (鸿蒙)移动应用_鸿蒙移动应用开发-程序员宅基地

文章浏览阅读1.9w次,点赞44次,收藏268次。AndroidIOSHarmonyOS (鸿蒙)文档概览-HarmonyOS应用开发官网2.1.1 系统的定位搭载该操作系统的设备在系统层⾯融为⼀体、形成超级终端,让设备的硬件能⼒可以弹性 扩展,实现设备之间 硬件互助,资源共享。对消费者⽽⾔,HarmonyOS能够将⽣活场景中的各类终端进⾏能⼒整合,实现不同终端 设备之间的快速连接、能⼒互助、资源共享,匹配合适的设备、提供流畅的全场景体验。⾯向开发者,实现⼀次开发,多端部署。_鸿蒙移动应用开发

AndroidStudio无代码高亮解决办法_android studio 高亮-程序员宅基地

文章浏览阅读2.8k次。AndroidStudio 升级到 4.2.2 版本后,没有代码高亮了,很蛋疼。解决办法是:点开上方的 File,先勾选 Power Save Mode 再取消就可以了。_android studio 高亮

swift4.0 valueForUndefinedKey:]: this class is not key value coding-compliant for the key unity.'_forundefinedkey swift4-程序员宅基地

文章浏览阅读1k次。使用swift4.0整合Unity出现[ valueForUndefinedKey:]: this class is not key value coding-compliant for the key unity.'在对应属性前加@objc 即可。或者调回swift3.2版本_forundefinedkey swift4

Spring Security2的COOKIE的保存时间设置_springsecurity 设置cookie失效时间-程序员宅基地

文章浏览阅读1.3k次。http auto-config="true" access-denied-page="/common/403.htm"> intercept-url pattern="/login.**" access="IS_AUTHENTICATED_ANONYMOUSLY"/> form-login login-page="/login.jsp" defau_springsecurity 设置cookie失效时间

view滑动冲突解决实战篇2(外部拦截法)_viewpage2外部拦截事件-程序员宅基地

文章浏览阅读1.1k次。继上篇内部拦截法需求还是跟上篇一样。只不过这次用外部拦截法来解决;只要在父容器添加如下代码就可以解决了滑动冲突,很简单,套模板就行 // 分别记录上次滑动的坐标(onInterceptTouchEvent) private int mLastXIntercept = 0; private int mLastYIntercept = 0; @Override public bo_viewpage2外部拦截事件

随便推点

Kotlin相关面试题_kotlin面试题-程序员宅基地

文章浏览阅读1.9w次,点赞26次,收藏185次。目录一.请简述下什么是kotlin?它有什么特性?二.Kotlin 中注解 @JvmOverloads 的作用?三.Kotlin中的MutableList与List有什么区别?四.kotlin实现单例的几种方式?五. kotlin中关键字data的理解?相对于普通的类有哪些特点?六.什么是委托属性?简单说一下应用场景?七.kotlin中with、run、apply、let函数的区别?一般用于什么场景?八.kotlin中Unit的应用以及和Java中void的区别?九.Ko_kotlin面试题

HEVC英文缩写及部分概念整理(1)--博主整理_反量化 英文缩写-程序员宅基地

文章浏览阅读2.8k次。有这个想法一方面是确实很多时候会记不得一些缩写是什么意思。另外也是受 http://blog.csdn.net/lin453701006/article/details/52797415这篇博客的启发,本文主要用于自己记忆 内容主要整理自http://blog.sina.com.cn/s/blog_520811730101hmj9.html http://blog.csdn.net/feix_反量化 英文缩写

超级简单的Python爬虫入门教程(非常详细),通俗易懂,看一遍就会了_爬虫python入门-程序员宅基地

文章浏览阅读7.3k次,点赞6次,收藏36次。超级简单的Python爬虫入门教程(非常详细),通俗易懂,看一遍就会了_爬虫python入门

python怎么输出logistic回归系数_python - Logistic回归scikit学习系数与统计模型的系数 - SO中文参考 - www.soinside.com...-程序员宅基地

文章浏览阅读1.2k次。您的代码存在一些问题。首先,您在此处显示的两个模型是not等效的:尽管您将scikit-learn LogisticRegression设置为fit_intercept=True(这是默认设置),但您并没有这样做statsmodels一;来自statsmodels docs:默认情况下不包括拦截器,用户应添加。参见statsmodels.tools.add_constant。另一个问题是,尽管您处..._sm fit(method

VS2017、VS2019配置SFML_vsllfqm-程序员宅基地

文章浏览阅读518次。一、sfml官网下载32位的版本 一样的设置,64位的版本我没有成功,用不了。二、三、四以下这些内容拷贝过去:sfml-graphics-d.libsfml-window-d.libsfml-system-d.libsfml-audio-d.lib..._vsllfqm

vc——类似与beyondcompare工具的文本比较算法源代码_byoned compare 字符串比较算法-程序员宅基地

文章浏览阅读2.7k次。由于工作需要,要做一个类似bc2的文本比较工具,用红色字体标明不同的地方,研究了半天,自己写了一个简易版的。文本比较的规则是1.先比较文本的行数,2.再比较对应行的字符串的长度3.再比较每一个字符串是否相同。具体代码如下:其中m_basestr和m_mergestr里面存放是待比较的字符串int basecount=m_basestr.GetLength(); int mergec_byoned compare 字符串比较算法