9

この投稿によると、rubygemsを要求することはアンチパターンです。

require 'rubygems'

議論はこれに要約されるようです:

ライブラリを使用したり、アプリをデプロイしたり、テストを実行したりするときは、rubygemsを使用したくない場合があります。コードに「rubygems」が必要な場合は、その決定を下す私の能力を削除します。私はrubygemsを必要としないことはできませんが、そもそもそれを必要とすることはできません。

しかし、コードのライブラリを作成して他の人と共有するときに「必要な」Rubyライブラリについて同じ議論をすることはできませんか?

4

3 に答える 3

10

コメントを見ると、作者がそう言っているのがわかります。

私が言おうとしていなかった点は、rubygems が悪いとか、人々がそれを使うべきではないということです。私は ruby​​gems を使用していますが、これは Ruby の成功の重要な要素だと考えています。ライブラリのソース コードのどこにも「require 'rubygems'」という行がありません。これは、必要でも便利でもなく、他の環境では困難または不可能になるためです ( bundler、rip、GAE、debian、手巻きなど) を使用して、多くの場合重要な ruby​​gems なしでライブラリを使用します。

私は実際にそれを読む前に彼に本当に同意しませんでしたが、今は同意します

于 2009-09-16T17:18:35.347 に答える
9

rubygem を要求することの主な問題は、実際に要求したいライブラリーがインストールされていても、rubygem がインストールされていないシステムではエラーが発生することです。

rubygem が必要なときに LoadError をレスキューすることでこの問題を回避する人もいますが、それはちょっと見苦しいです。

于 2009-09-16T17:41:43.423 に答える
0

Rubygems はアプリケーションにとって必須ではなく、ライブラリを提供する便利な方法です。対照的に、使用されるその他のライブラリはアプリケーションにとって不可欠です。

于 2011-11-09T02:16:42.057 に答える