rvm的使用

  作为刚刚学习rails的小白,第一次在ubuntu下安装rails的开发环境。发生很多蛋疼的事,多亏了众多rails前辈的指点,当然了还有afly的指点,总算解决了我遇到的奇葩问题。这里做个记录。

  什么是rvm?

  rvm是一个命令行工具,可以提供一个便捷的多版本ruby环境的管理和切换。关于rvm的介绍,ruby-china有篇blog写的很清楚。http://ruby-china.org/wiki/rvm-guide  这里我只介绍我遇到的问题。第一个问题是我在执行rails new projectname时报出的错误:[BUG] Segmentation fault ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]已放弃 (核心已转储)。当时我晕了,我根本就没有安装过1.8.7的ruby版本。当时在群里面问了一下,大家都说很明显是rvm在版本管理上发生了错误。其实我猜也是,当时在安装rvm的时候根本就不知这家伙是拿来干什么的,照着一篇blog走了一下,中间还出现了一些错误,最奇葩的是我明明install了最新的ruby版本也成功了,但是执行ruby -v 结果还是 ruby 1.8.7。当时一想算了,反正当时项目能够跑起来。先理解理解rails再说。案件发生在昨天,我在github上clone了ruby-china的源码,并且执行了bundle,也没发生什么异常,或许有吧,我已经不记得了。之后,就报了上面的错误。这么奇葩的错误,我开始找关于rvm的资料。

  rvm list:查看已经安装的ruby版本,显示只有ruby-1.9.3-p385 [ x86_64 ],这哪里来的ruby 1.8.7的错误,当时要崩溃了。只能求救afly,他告诉我应该是我以前装过或是系统自带的。果断的删了 sudo apt-get remove ruby* ,之后再删了rails,sudo apt-get remove rails* 。哥们这次要重头再来,貌似这是当时无助之下的唯一解决方案了。之后执行rails -v  显示/usr/bin/env: ruby1.8: 没有那个文件或目录,哇哈哈,这说明我把他删了。

  下面要讲重头戏了,rvm use ruby-1.9.3-p385 [ x86_64 ] --default, 接下来我想创建一个3.2.13版本的工程,gemset可以理解为是一个独立的虚拟gem环境,每一个gemset都是相互独立的。所以要先创建一个gemset,

  rvm use 1.9.3-p385

    rvm use 1.8.7@rails3.2.13

  gem install rails -v 3.2.13

这样就ok了,不再默认使用系统的ruby了。。。

posted on 2013-04-18 21:24  小海少  阅读(660)  评论(0编辑  收藏  举报