根据这篇文章,要求rubygems是一个反模式.
require 'rubygems'
这个论点似乎归结为:
当我使用你的库,部署你的应用程序,或运行你的测试我可能不想使用rubygems.当您在代码中需要"rubygems"时,您将无法做出决定.我不能不要求rubygems,但你不能首先要求它.
但是,当您与其他人一起创建和共享代码库时,您所要求的任何Ruby库都无法进行相同的论证吗?
如果你看一下评论,你会看到作者这么说
我没有想到的一点是,rubygems是坏的,或者人们不应该使用它.我使用rubygems并认为它是Ruby成功的关键部分 - 我在我的库源代码中的任何地方都没有"require'rubygems'",因为它不是必需或方便的,并且使得其他环境很难/不可能(如bundler,rip,GAE,debian,hand rolled等)使用没有rubygems的库,这通常很重要.
在我阅读它之前,我实际上并不是真的同意他,现在我做了
有需要的RubyGems的主要问题是它会造成没有,即使他们确实有你真的想要求库安装RubyGems后的系统出错.
有些人通过在需要rubygems时拯救LoadError来解决这个问题,但这有点难看.