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

智能推荐

Elastic:机器学习的原理及实践 - single metric job_es 机械学习的应用-程序员宅基地

文章浏览阅读6.4k次,点赞2次,收藏18次。在Elasticsearch中,可以将机器学习视为搜索和分析的自然扩展。它是对时间序列数据的分析。 Elasticsearch支持的机器学习功能可以通过运行metric任务来自动分析时间序列数据,该metric任务包含一个或多个定义了将要分析的字段的检测器。 它可以帮助我们识别单变量时间序列数据中的异常,并向我们显示正常情况。在Elasticsearch中,我们可以通过机器学习来检测时间系列中的异..._es 机械学习的应用

Android的log保存到文件上查看_android log.v 存为文件-程序员宅基地

文章浏览阅读2.1w次。在调试的时候一般都是在logcat中看日志的信息,以便找出BUG和调试信息,但是如果在真机上的话不可能一直连接电脑查看日志,所以生成日志文件并保存,是一个比较普遍的需求,下面就是最近实现的一个例子。欢迎大家讨论并给出别的思路。 import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream_android log.v 存为文件

c语言--printf--scanf--运算符_c语言带运算scanf-程序员宅基地

文章浏览阅读1.4k次。printf将变量的内容输出到显示器。四种用法:printf("字符串\n");printf("输出控制符",输出参数);printf("输出控制符1 输出控制符2...",输出参数1,输出参数2); //输出控制符和输出参数个数必须一一对应printf("输出控制符 非输出控制符",输出参数,输出参数);以%开头一般都是输出控制符,输出控制符包含如下%d %ld %f %c %lf %x %X %#X %o %s为什么需要输出控制符。01组成的代码可以表示数据也可以表示指_c语言带运算scanf

初试 Kubernetes 动态卷配置使用 RBD 作为 StorageClass_failed to provision volume with storageclass-程序员宅基地

文章浏览阅读3.7k次。目录Kubernetes StorageClass 介绍环境、软件准备Kubernetes 使用 RBD 作为 StorageClass1、Kubernetes StorageClass 介绍Kubernetes 集群存储 PV 支持 Static 静态配置以及 Dynamic 动态配置,动态卷配置 (Dynamic provisioning) 可以根据需要动态的创建存储卷。我们知道,之前的静态配..._failed to provision volume with storageclass

三元组存放的稀疏矩阵的转置_三元组存储稀疏矩阵进行转置-程序员宅基地

文章浏览阅读1.7k次。稀疏矩阵: 非零元素很少,但是分布没有规律的矩阵。(即可以用三元组来存放每个非零元)。三元组顺序表的定义:#define size 3typedef int Elemtype;typedef struct{ int i,j;//非零元的行,列 Elemtype e;//非零元元素 }Triple;//三元组 typedef struct{ Triple date[size+1]..._三元组存储稀疏矩阵进行转置

java判断熟数字_java大牛须知道的25点-程序员宅基地

文章浏览阅读49次。1. 你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是class、object、interaction以及statediagrams.2. 你需要学习Java语言的基础知识以及它的核心类库(collections、serialization、streams、networking、multithreading、reflection..._熟门熟码是什么数字

随便推点

MSYS2安装和使用_pacman windows-程序员宅基地

文章浏览阅读546次,点赞14次,收藏12次。msys2是一款跨平台编译套件,它模拟linux编译环境,支持整合mingw32和mingw64,能很方便的在windows上对一些开源的linux工程进行编译运行。更重要的是它支持pacman包管理器;这意味着你可以很方便的安装所需要的软件包和开发库,而不需要自己去找源码编译。_pacman windows

JDK8 日期格式化_jdk date pattern-程序员宅基地

文章浏览阅读1w次。为什么要格式化我们中国人习惯 yyyy-MM-dd HH:mm:ss 这种格式的日期,但奈何框架是歪国大佬们写的,他们的日期格式与我们相差甚远,好在 Spring Boot 提供了 spring.jackson.date-format,但它只能格式化 java.util.Date。那么解决办法是什么呢?在 JDK8 中,一个新的重要特性就是引入了全新的时间和日期API,它被收录在 java..._jdk date pattern

不是python中用于开发用户界面的第三方库-Python计算生态习题(50题)-程序员宅基地

文章浏览阅读6k次,点赞3次,收藏36次。1、Python网络爬虫方向的第三方库是A. requestB. jiebaC.itchatD.time答案:A2、Python网络爬虫方向的第三方库是A、numpyB、scrapyC、ArcadeD、FGMK答案:B3、Python数据分析方向的第三方库是A、BokehB、dataswimC、scipyD、Gleam答案:C4、Python数据分析方向的第三方库是A、PlotlyB、PyQtDa..._python第三方库习题

线程的状态-Thread的状态包括:New、Runnable、Blocked、Waiting、Timed Waiting和Terminated_thread terminated-程序员宅基地

文章浏览阅读544次。在Java程序中,一个线程对象只能调用一次start()方法启动新线程,并在新线程中执行run()方法。一旦run()方法执行完毕,线程就结束了。因此,Java线程的状态有以下几种:New:新创建的线程,尚未执行; Runnable:运行中的线程,正在执行run()方法的Java代码; Blocked:运行中的线程,因为某些操作被阻塞而挂起; Waiting:运行中的线程,因为某些操作在等待中; Timed Waiting:运行中的线程,因为执行sleep()方法正在计时等待; Termina_thread terminated

【AI视野·今日CV 计算机视觉论文速览 第259期】Tue, 3 Oct 2023_humannorm: learning normal diffusion model for hig-程序员宅基地

文章浏览阅读543次。AI视野·今日CS.CV 计算机视觉论文速览Tue, 3 Oct 2023 (showing first 100 of 167 entries)Totally 100 papers上期速览更多精彩请移步主页Daily Computer Vision PapersGPT-Driver: Learning to Drive with GPT Authors Jiageng Mao, Yuxi Qian, Hang Zhao, Yue Wang我们提出了一种简单而有效的方法,可以将 O_humannorm: learning normal diffusion model for high-quality and realistic 3d

vivado仿真器文件没有针对VCS的,这个时候将ip文件夹下的sim 和simulation文件夹给到VCS就可以_vivado不支持vcs-程序员宅基地

文章浏览阅读1k次。这个时候将ip文件夹下的sim 和simulation文件夹给到VCS就可以_vivado不支持vcs

推荐文章

热门文章

相关标签