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

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

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

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

从 rvm 迁到了 rbenv。

rvm 坑很多已经跳到 rbenv 了

木用过 rbenv 啊

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

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

#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 仍然在追求复杂度这条路上越走越远。

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