RVM在linux上有什么优势?

时间:2011-06-17 13:34:24

标签: ruby linux ubuntu debian rvm

请理解我并不是想破坏RVM。我想了解为什么它在Ruby社区中如此受欢迎。

使用RVM似乎有两个主要原因 - 在不同版本的Ruby之间管理/切换,以及管理每个项目的特定gemset。然而,似乎有更清洁的方法在linux上实现相同的东西:

  • 我可以安装不同的ruby版本 从存储库到 常规包管理器或构建 从源代码开始安装。 我可以在版本之间切换 更新替代品(至少在Debian,Ubuntu,Fedora上)。
  • 我可以使用Bundler管理集合 不同项目的宝石,如 在this blog post中列出。

鉴于上述情况,我很困惑为什么我想使用RVM来管理Ruby版本和宝石。在包管理器之外使用bash脚本在我的系统上安装软件的想法感觉非常hackish,感觉由this blog post支持。

我不是Mac用户,我在这里完全猜测,但我认为可能是OS X在Ruby社区非常流行。如果在OS X上没有用于切换ruby版本的更新替代方案的系统,RVM可能是最好的解决方案,而且这个想法也延续到了Linux ......就像我说的,这只是猜测。

那么为什么RVM如此受欢迎,为什么我更喜欢它而不是Debian或Ubuntu上的常规包管理器+ Bundler?

2 个答案:

答案 0 :(得分:3)

如果您需要使用不同版本的Ruby管理许多项目和像我这样的特殊Rails(我有3个项目来管理,使用Rails 2.3.5,Rails 3.0.5和Rails 3.1 rc1),RVM是必不可少的解决方案。您可能知道Rails 2.3.x没有捆绑器支持并使用旧的宝石,因此版本管理是使开发更容易的方法。我希望我能帮助你。

答案 1 :(得分:3)

  1. RVM是便携式的
  2. update-alternatives全局工作,RVM在shell /脚本上下文中工作 - 我认为它正在修改env路径。现在假设在一台服务器上有两个应用程序:一个1.8.7和另一个1.9.2
  3. Ruby EE的使用需要手动安装 - 使用RVM只需一个命令就可以安装它。
  4. 我在混合宝石目录中遇到的问题太多了,只有1.8.7或者只有1.9.2的Debian宝石。
  5. 轻松备份 - 只需复制.rvm目录。
  6. 一致的群集(同一平台) - 只需共享一个.rvm目录。