ruby - RVM在linux上有什么优势?

标签 ruby linux ubuntu debian rvm

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

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

  • 我可以安装不同的 ruby​​ 版本 从存储库通过 常规包管理器,或构建 从源代码并作为一个包安装。 我可以使用版本之间切换 更新替代方案(至少在 Debian、Ubuntu、Fedora 上)。
  • 我可以使用 Bundler 来管理 不同项目的 gem ,如 在 this blog post 中概述.

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

我完全猜测我不是 Mac 用户,但我认为可能是 OS X 在 Ruby 社区中非常流行。如果没有像 update-alternatives 这样的系统来在 OS X 上切换 ruby​​ 版本,RVM 可能是最好的解决方案,而且这个想法也适用于 linux。就像我说的,这只是一个猜测。

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

最佳答案

如果您像我一样需要使用不同版本的 Ruby 和特殊 Rails 管理许多项目(我有 3 个项目要管理,它们使用 Rails 2.3.5、Rails 3.0.5 和 Rails 3.1 rc1),那么 RVM 是必要的解决方案。您可能知道 Rails 2.3.x 不支持 bundler 并使用旧的 gems,因此版本管理是使开发更容易的方法。我希望我能帮到你一点。

关于ruby - RVM在linux上有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6386537/

相关文章:

ruby - 为什么要在 attr_accessor 中使用符号而不是字符串?

linux - 搜索给定目录以外的文件

linux - 在 Linux 中替换大文本字符串

linux - 当定界符也出现在文件中任何位置的字段数据中时,如何替换定界符?

r - 无法重新安装或运行 Stringr 包

ruby-on-rails - 在 Rails 3 应用程序中使用 require_dependency 对性能有何影响?

ruby-on-rails - 如何升级 Rails?

linux - 通过按键发送 SIGUSR2 信号

c# - 在 ubuntu 上通过 .net core 发送电子邮件返回 base64 错误

ruby - ruby '.each do' for-loops 中的参数如何工作?