根据this post,要求rubygems是反模式。
require 'rubygems'
这个论点似乎归结为:
当我使用你的库时,部署你的 应用程序,或运行我可能不想要的测试 使用rubygems。需要时 代码中的'rubygems',你删除我的 做出决定的能力。一世 不能不要求rubygems,但你可以 首先不需要它。
但是当你与其他人一起创建和共享代码库时,不能对你需要的任何Ruby库做出相同的论证吗?
答案 0 :(得分:10)
如果您查看评论,您会看到作者说这个
我不想做的是 那个rubygems是坏的还是那个人 不应该使用它。我用rubygems和 认为它是Ruby的关键部分 成功 - 我只是没有这条线 “需要'rubygems'”在我的任何地方 库的源代码,因为它不是 必要的或方便的 其他人很难/不可能 环境(如bundler,rip,GAE, debian,手卷等)使用 没有rubygems的库,这是 通常很重要。
在我阅读它之前,我实际上并不是真的同意他,现在我做了
答案 1 :(得分:9)
要求rubygems的主要问题是它会在没有安装rubygems的系统上造成错误,即使它们确实有你真正想要的库。
有些人在需要rubygems时通过拯救LoadError来解决这个问题,但这有点难看。
答案 2 :(得分:0)
Rubygems对应用程序来说并不重要,它只是提供库的一种便捷方式。相比之下,使用的其他库对应用程序至关重要。