根据这篇文章,要求rubygems是反模式。

require 'rubygems'

这个论点似乎归结为:

  

当我使用你的库时,部署你的   应用程序,或运行我可能不想要的测试   使用rubygems。需要时   代码中的'rubygems',你删除我的   做出决定的能力。一世   不能不要求rubygems,但你可以   首先不需要它。

但是当你与其他人一起创建和共享代码库时,不能对你需要的任何Ruby库做出相同的论证吗?

有帮助吗?

解决方案

要求rubygems的主要问题是它会在没有安装rubygems的系统上造成错误,即使它们确实有你真正想要的库。

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

其他提示

如果您查看评论,您会看到作者说这个

  

我不想做的是   那个rubygems是坏的还是那个人   不应该使用它。我用rubygems和   认为它是Ruby的关键部分   成功 - 我只是没有这条线   “需要'rubygems'”在我的任何地方   库的源代码,因为它不是   必要的或方便的   其他人很难/不可能   环境(如bundler,rip,GAE,   debian,手卷等)使用   没有rubygems的库,这是   通常很重要。

在我阅读之前,我实际上并不是真的同意他,现在我做了

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top