9

根据这篇文章,需要 ruby​​gems 是一种反模式。

require 'rubygems'

争论似乎可以归结为:

当我使用您的库、部署您的应用程序或运行您的测试时,我可能不想使用 ruby​​gems。当您在代码中需要“rubygems”时,您将无法做出该决定。我不能不要求 ruby​​gems,但你不能一开始就要求它。

但是,当您创建并与其他人共享代码库时,不能对您“需要”的任何 Ruby 库提出相同的论点吗?

4

3 回答 3

10

如果你看评论,你会看到作者这样说

我没有试图说明的是 ruby​​gems 不好,或者人们不应该使用它。我使用 ruby​​gems 并认为这是 Ruby 成功的关键部分——我只是在我的库的源代码中的任何地方都没有“require 'rubygems'”这一行,因为它没有必要或不方便,并且对于其他环境(比如bundler、rip、GAE、debian、hand rolling 等)在没有 ruby​​gems 的情况下使用库,这通常很重要。

在阅读之前我实际上并没有真正同意他,现在我同意了

于 2009-09-16T17:18:35.347 回答
9

需要 ruby​​gems 的主要问题是它会在没有安装 ruby​​gems 的系统上导致错误,即使它们确实具有您实际需要的库。

有些人在需要 ruby​​gems 时通过抢救 LoadError 来解决这个问题,但这有点难看。

于 2009-09-16T17:41:43.423 回答
0

Rubygems 对应用程序来说不是必需的,它只是提供库的一种便捷方式。相比之下,使用的其他库对应用程序至关重要。

于 2011-11-09T02:16:42.057 回答