为什么Rails宝石的名字和插件有时包含作者姓名?

时间:2010-01-08 01:43:19

标签: ruby-on-rails plugins github gem

当谈到添加gems / plugins时,我注意到有时候作者名称会被添加到gem / plugin名称中,而有时则不会。这背后有什么理由吗?

示例:

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

为什么不将它作为:

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

你什么时候区分这两者?

2 个答案:

答案 0 :(得分:13)

GitHub用于自动构建和托管gem时,它们会按用户名强制执行命名空间方案。这就是github gems以用户名为前缀的原因。 GitHub拥抱分叉项目;因此需要带前缀的用户名。 GitHub对于规范的宝石名称来说从来都不是一个好地方,所以当decided to drop their automatic gem hosting启动时它们Gemcutter *。从那时起,即使是最初的规范宝石主持人RubyForge,也停止托管宝石,转而使用Gemcutter。 Gemcutter现在是所有宝石的规范来源。

为了方便每个人,http://gems.rubyforge.org现在指向http://gemcutter.org

* GitHub宣布他们将继续主持所有旧的用户名命名宝石至少一年。


关于factory_girl,现在也在Gemcutter上托管。您的配置现在只需要看起来像这样:

config.gem "factory_girl"

...但我建议你也为你的项目添加一个版本号(当你稍后回到陈旧的项目时,你会感谢我的):

config.gem "factory_girl", :version => "1.2.3"

答案 1 :(得分:1)

因为有几个项目具有相似的功能,但由不同的作者提供。也许其中一些是其他的叉子。或者他们可能只有一个特定任务的通用界面。

快速googleing产生以下作者:

为了区分它们,将作者的昵称添加到宝石名称是有用的。