【问题标题】:What are the advantages of RVM on linux?RVM 在 Linux 上的优势是什么?
【发布时间】:2011-06-17 13:34:24
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: ruby linux ubuntu debian rvm


    【解决方案1】:

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

    【讨论】:

    • 您可以在 Rails 2.3 中使用 Bundler 并付出一些努力:gembundler.com/rails23.html
    • 当您必须管理许多项目,使用相同的 gem 但不同的版本 - 相信我 - 这非常困难
    【解决方案2】:
    1. RVM 是便携式的
    2. update-alternatives 在全球范围内工作,RVM 在 shell/脚本上下文中工作 - 我想它正在修改 env 路径。现在想象在一台服务器上有两个应用程序:一个 1.8.7 和另一个 1.9.2
    3. Ruby EE 的使用需要手动安装 - 对于 RVM,只需一个命令即可安装。
    4. 我在 Debian 中使用仅 1.8.7 或仅 1.9.2 的 gem 混合 gem 目录时遇到了太多问题。
    5. 轻松备份 - 只需复制 .rvm 目录。
    6. 一致的集群(同一平台) - 只需共享一个.rvm 目录。

    【讨论】:

    • 我不确定这个答案是否显示出任何优势: 1. 我专门询问了 Debian/Ubuntu。 2. 修改环境变量作为cd 的副作用是一种可怕的黑客攻击。 3. Ruby EE 有适用于 Debian/Ubuntu 的软件包。 4. Bundler 不需要任何系统范围的 gem 安装。还有一个问题:6.“集群”是什么意思?
    • 我正在使用 Debian,apt 获得了 ruby​​ 1.8.7、1.9.2 并手动 (deb) 安装了 ruby​​ 1.8.7-ee。如果您必须运行与上述每个 rubies 一起使用的单独应用程序,那么 RVM 非常易于维护。 2. 命令行 RVM 更改 PATHGEM_PATH 环境变量,这是常见的做法。应用程序使用直接路径。 6. 集群 - 几台具有通用配置的机器都配备了 RVM,并且一旦构建 .rmv 目录并运行相同的应用程序实例 - 您只需更新一次 gem。
    • 1.便携的?如果您只是将 .rvm 移动到另一个目录并尝试为 init 脚本提供资源,它似乎不起作用。
    猜你喜欢
    • 1970-01-01
    • 2014-08-03
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 2017-06-21
    • 2013-05-15
    • 1970-01-01
    相关资源
    最近更新 更多