RVM/rbenv rbenv vs rvm, 你们选择用哪个?

zealinux · 2013年04月17日 · 最后由 zvving 回复于 2017年02月20日 · 17630 次阅读

如题, 它们有什么优缺点? 希望谁研究过的,说说心得

共收到 53 条回复

RVM,虽然有些人批评它臃肿,复杂,但是它从没给我找过麻烦。

从 rvm 迁到了 rbenv。

rvm坑很多已经跳到rbenv了

木用过rbenv啊

#3楼 @ywjno 举个例子?

RVM,,用惯了

rvm

rvm 的设计理念是自动化,全面。 rbenv 的设计理念是规范化,小核。

#7楼 @ywjno 大部分是环境依赖问题,或者安装较旧或者较新的Ruby版本时遇到的问题,在我看来问题都不是出在 RVM 自身,所以不影响我依然喜欢 RVM。

萝卜白菜各有所爱,但是对用户来说鬼知道是rvm的问题还是环境依赖问题

#10楼 @ywjno 这就是这些问题帖的问题根源了,我用 RVM 的时候,如果遇到问题,我会知道问题是不是来自环境,而且我认为 RVM 解决环境依赖方面做的很出色,很方便。

不过如果对新手,其他工具更简单易用的话,我也建议用户选择更简单的工具。

我们从 RVM 迁移到 rbenv,用了一段时间发现自动化程度远不如 RVM,我们并不想成为 Ruby 版本和环境专家,所以回到 RVM 了。

RVM,遇到过一些麻烦都解决了,已经习惯了,所以除非新的工具有本质的改进,否则不想换新的。

我也被rbenv坑怕了。问题当然都能解决,但是浪费时间…… 虽然rvm很霸道要改你的系统命令,但是胜在方便……

rvm 过度设计。 rbenv 刚好,配合 bundler. gem install 默认可以安装多个不同版本, 加上rbenv 切换ruby 版本刚好。 讨厌 gemset 这样的概念和设计.

#16楼 @gihnius 有些道理,gemset从来没用过。

默认rvm,没问题就一直用着。没有用来折腾的时间。

话说 wiki 关于 rvm 的部分也该更新下了, 现在安装依赖的方法就是: 全部交给 rvm ...

rvm autolibs packages
rvm install ruby-head --debug

rbenv, 看看tpope为它写的一堆扩展就知道没理由不用它

有没有只用Ruby的?貌似直接系统安装,也挺方便的,还少了不少配置…

rvm 移到了 rbenv, 并且坚决不回头

上次本来想用rbenv,结果装openssl要翻墙,直接放弃了。rvm就没有这种事...

如果你从来不用gemset的话,就用rbenv吧

rvm 基本没遇到过什么问题,用的挺顺手的。

#21楼 @ericguo centos 下之前下载ruby 安装包编译的,是快些,但环境变量什么的配了好久

一直在用 RVM 很喜欢 gemset 但是也希望有机会尝试一下 rbenv

其实,这东西,在gentoo上,gentoo都做了。。。

在公司用rvm,最近在家里的电脑试用rbenv + bundler;

rvm和rbenv在使用上都没有给我带来太大的问题;但是如果是新的开发环境或者是生产环境下,我还是倾向于用rbenv,一个原因是rbenv会比rvm快,另外一个原因是rbenv的原理和实现比rvm简单,有问题找起来也相对简单,而rvm对我来说还是有太多的魔法

没Gemset你们是怎么用的啊。。

#32楼 @iBachue 有 Bundler 要 gemset 干什么

#33楼 @alvin2ye 你是说GemBundler吗?

rvm够用就好,但讨厌gemset,过度设计

#2楼 @daqing 在你的 社区curl -L get.rvm.io | bash -s stablesource ~/.rvm/scripts/rvm 这俩个地方出错,Google搜索其他安装rvm方法终不能解决,后来搜索到这个 使用 rbenv 安装管理 Ruby,于是搞定了,囧,非程序员伤不起,才知道rbenv vs rvm都是用来管理ruby的啊

#36楼 @open 多谢反馈,改成了 https 链接:curl -L https://get.rvm.io | bash -s stable

rbenv +1

我发现自己从来不会用多版本ruby,所以放弃了RVM,自己编译安装了。

rbenv+1

#39楼 @vincenttone 等需要升级 Ruby 时,就会体会到好处了。

#41楼 @daqing 我已经从1.9.3升级到ruby2.0.0了,运行没啥问题,还好。即使有问题我也可以自己调整PATH,写个shell就可以了。

rbenv的官网太意境了😱 http://rbenv.org

rvm,一直妥妥的

本子太老硬盘小,时不时硬盘空间吃紧,终于决定把rvm干掉换rbenv了,吃掉了将近5G的空间,顺便把mongodb的journal也干掉,瞬间觉得硬盘又复活过来...

简单的研究了一下 rbenv,没觉得比rvm好,只是基本功能比rvm少。 默认不支持gemset,但是可以使用plugins,支持gemset。

rvm 在 Github上有 2834个星星。 rbenv 在 Github上有 6048个星星, 后生可畏

不过 rvm 有10,418个commits 更新的频率较高 rbenv 只有446个commits 更新的频率较低

对rvm而言,既生瑜何生亮! 对程序猿而言,即来之则安之!

至于如何选择,我的建议如下:

老的项目

以前用啥,现在就用啥, 别在服务器上瞎折腾。

新的项目

你熟悉啥,你就用啥, 你喜欢啥,你就用啥, 没啥大的区别, 你想咋折腾,就咋折腾。

差别如下

  • rvm + rvm.gemset =(约等于) rbenv+bundle
  • rvm + bundle = rbenv+bundle

rvm gemset确实恶心,切个环境就要装一次 另外emacs用rvm一直没设置成功,蛋疼无比,直接放弃

#1楼 @lgn21st 为何peatio用的是rbenv。。。。。。。。。。。。。。。。。

#51楼 @followtheart 我想主要是追求简单性原则,上面已经列举了各种 rbenv 的优劣,但是不可否认 rbenv 的复杂度远远小于 RVM,而 RVM 仍然在追求复杂度这条路上越走越远。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册