4

gem / pluginsを追加する場合、gem / plugin名の前に作成者名が付加される場合と、そうでない場合があります。この背後にある理由はありますか?

例:

config.gem "thoughtbot-factory_girl", :source => "http://gems.github.com"

なぜそれを持っていないのですか?

config.gem "factory_girl", :source => "http://gems.github.com"

いつこの2つを区別しますか?

4

2 に答える 2

13

GitHubがgemの自動構築とホストに使用されたとき、ユーザー名による名前空間スキームを適用しました。これが、githubgemのプレフィックスにユーザー名が付いている理由です。GitHubはフォークプロジェクトを採用しています。したがって、接頭辞付きのユーザー名が必要です。GitHubは、正規のgem名に適した場所ではなかったため、Gemcutterのリリース時に、自動gemホスティング*を廃止することにしました。それ以来、正規のgemの元のホストであるRubyForgeでさえ、Gemcutterを支持してgemのホストを停止しました。Gemcutterは、すべての宝石の正規のソースになりました。

これを誰にとっても簡単にするために、 http: //gems.rubyforge.orgはhttp://gemcutter.orgを指すようになりました。

* GitHubは、少なくともあと1年間、すべての古いユーザー名の名前空間付きgemをホストし続けることを発表しました。


factory_girlに関しては、これもGemcutterでホストされています。構成は次のようになるだけです。

config.gem "factory_girl"

...ただし、プロジェクトのバージョン番号も追加することをお勧めします(後で古いプロジェクトに戻ったときに感謝します):

config.gem "factory_girl", :version => "1.2.3"
于 2010-01-08T02:27:22.893 に答える
1

似たような機能を持つプロジェクトがいくつかありますが、異なる作者によって提供されているためです。多分それらのいくつかは他のもののフォークです。あるいは、特定のタスクに共通のインターフェースを持っているだけかもしれません。

クイックグーグルは次の著者を生み出します:

それらを区別するには、作成者のニックネームをgemnameの前に付けると便利です。

于 2010-01-08T01:57:33.890 に答える