免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1777 | 回复: 1
打印 上一主题 下一主题

rvm实用指南(二)(转) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-03 17:00 |只看该作者 |倒序浏览
rvm实用指南(二)(转)





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


设想当前工作在Ruby 1.9.2 + Rails 3.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. $ rvm info   
  2. $ rvm info 1.9.2  
复制代码
Ruby的安装使用与管理
用这个命令查看有哪些RVM可用的Ruby版本
Java代码
  1. $ rvm list known   
  2. $ rvm install 1.9.2    # 安装 ruby-1.9.2   
  3. $ rvm install ree   # install Ruby Enterprise Edition (REE)   
复制代码
安装多个版本的Ruby之后,RVM可以很方便的进行切换。使用下条命令可以设置某一版本为当前使用版本。



Java代码
  1. $ rvm  ruby-1.8.7-p160 #切换1.8.7-p160为当前使用版本   
  2. $ rvm 1.8.7-p160    #同上面命令一样rvm ruby-1.8.7-p160   
  3. $ ruby -v #查看当前Ruby版本   
复制代码
查看当前Ruby的安装位置



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


Java代码
  1. $ rvm --default use 1.9.2   #设置1.9.2为默认版本   
  2.    
  3. $ rvm default      #通过default可以快速回到默认版本   
  4. $ rvm list default     #查看当前版本设置信息   
  5. $ rvm reset     #恢复系统默认设置   
复制代码
查看已安装的Ruby信息
列出所有已经安装的Ruby的版本信息
Java代码
  1. $ rvm list      #列出已安装的Ruby版本   
  2.    
  3. $ rvm list rubies     #同上   
  4. $ rvm list default    #显示默认Ruby版本信息   
  5. $ rvm list known     #列出RVM所支持的所有Ruby版本的信息   
复制代码
创建别名
使用带版本号的ruby时,每次切换时都要输入很长的版本号,非常的不方便,通过使用别名功能,可以创建很简短的别名来代替长长的ruby信息。
Java代码
  1. $ rvm alias create reed ree-1.8.7-p2010.01    #为ree-187的Ruby版本创建一个别名叫:reed   
  2.    
  3. $ rvm use reed  #通过别名迅速切换   
  4. $ rvm alias delete reed   #删除别名   
  5. $ rvm alias list # 查看所有的别名   
复制代码
删除已安装版本
Java代码
  1. $ rvm remove ruby-1.9.2-p0   
  2.    
  3. $ rvm uninstall ruby-1.9.2-p0   
复制代码
管理 Gemsets
一个gemset就是一个目录,是某一个Ruby版本的Gem使用集,通过环境变量配置,使该gemset下的gem命令导入到Shell。
一个Ruby版本初装时就默认给了一个同名的gemset,也就是说rvm ruyb-1.9.2-p0 命令在执行时,就是使用该环境变量。



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


Java代码
  1. $ rvm 1.9.2  #???   
  2. $ rvm gemset create rails3  #创建一个名为rails3的gemset  
复制代码
使用
指定某一个gemset作为当前环境使用。


Java代码
  1. $ rvm 1.9.2  #???   
  2.    
  3. $ rvm gemset use rails3   #在当前Ruby下使用rails3这个gemset   
  4.    
  5. $ rvm use ruby-1.9.2-p0@rails3 #或者直接使用这种命名,直接指定ruby和gemset的信息。   
  6. $ rvm use ruby-1.9.2-p0@rails3 --default   #设置默认   
复制代码
查看Gemsets信息
Java代码
  1. $ rvm default  #选择使用ruby版本   
  2.    
  3. 列出当前Ruby版本下所有gemsets的信息r   
  4.    
  5. $ rvm gemset list   
  6.    
  7. 列出所有Ruby版本下所有gemsets的信息   
  8.    
  9. $ rvm gemset list_all   
  10. 显示当前所使用的gemset信息   
  11. $ rvm gemset name     #当前gemset的名称   
  12.    
  13. rails3   
  14. $ rvm gemdir   #所在位置   
  15. ~/.rvm/gems/ruby-1.9.2-p0@rails3   
复制代码
删除
删除一个gemset,默认有确认操作,使用 --force 可跳过该步骤。
Java代码
  1. $ rvm gemset delete rails3  #会让确认一次   
  2.    
  3. $ rvm --force gemset delete rails3     #直接删除,没有确定步骤   
复制代码
清空
可以清空一个Gemset,删除其中的所有的gems包


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


Java代码
  1. $ rvm gemset export rails3.gems  
复制代码
导入
将gems文件所指定的gems安装到当前gemset下。


Java代码
  1. $ rvm gemset rails 3   
  2. $ rvm gemset import rails3   
复制代码
复制
可以将一个gemset内的所有gems包都复制到另一个gemset,很快速的复制一个当前环境。


Java代码
  1. $ rvm gemset copy 1.8.7@rails3 1.9.2-head@rails3   
复制代码
全局 gemsets (global gemsets)
每一个ruby版本都默认创建一个全局的gemset,以ruby_version@global命名,这样基于该ruby版本下所有的gemsets都会包含全局gemset里的gem包。可以起到统一约定的作用,也避免重复创建。
默认安装的global gemset内仅有一个gem包:rake

论坛徽章:
0
2 [报告]
发表于 2012-02-03 17:00 |只看该作者
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP