我应该在GitHub或RubyGems中托管宝石吗?

时间:2010-08-19 20:22:33

标签: ruby-on-rails ruby github gem

我读过RubyGems事实上托管了宝石。

我在GitHub上托管我所有的Rails项目。

所以我的问题是:

  • 有没有理由在GitHub而不是RubyGems上托管我的宝石?

  • RubyGems是否有像GitHub这样的私有存储库?

  • 我读到珠宝商很适合制作宝石骨架。在他们的网页上,它听起来像是将这些宝石上传到GitHub而不是RubyGems。但GitHub没有删除Gem支持吗?

  • 此railscast http://media.railscasts.com/videos/183_gemcutter_and_jeweler.mov向我们展示了如何使用gemcutter来管理宝石。但Gemcutter.org现在是RubyGems.org吗?但是还有一种名为gemcutter的宝石?这是为我们管理宝石,但现在在RubyGems.org中?

感谢有人能在这个话题上给我启发。

5 个答案:

答案 0 :(得分:11)

  

有没有理由主持我的   Geit on GitHub而不是RubyGems?

1)GitHub has stopped building new gems,但继续托管之前放置在网站上的宝石。)答案是,你做不到。 (

GitHub宝石建造过程总是那种hacky并不是100%坚实。 (有时候在他们的帮助网站上查看“gem issues”支持队列)。 GitHub关于git托管,Gemcutter是关于gem托管的。说够了。 :)

  

RubyGems是否私有   像GitHub这样的存储库?

没有,还没有。我们已经考虑过了,但提供私有宝石服务器/子域似乎与网站的开放性质相冲突。如果您需要内部代码的gem服务器,请使用gem servergeminabox

  

我读过珠宝商很高兴   创造宝石骨架。在他们的   网页听起来像上传   这些宝石是GitHub而不是RubyGems。   但没有GitHub删除宝石   支持?

珠宝商仍然是开始创作宝石的好方法。我很确定安装了Jeweler的rake任务rake release现在只需要gem push,所以它将发布到RubyGems.org。

  

这个railscast   http://media.railscasts.com/videos/183_gemcutter_and_jeweler.mov   向我们展示了如何使用gemcutter   管理宝石。但Gemcutter.org现在   RubyGems.org对吗?但仍然是一颗宝石   叫gemcutter可用吗?这是   为我们管理宝石,但在   RubyGems.org现在?

是的,gemcutter.org,rubygems.org和gems.rubyforge.org都重定向到同一个地方。 gem pushgem owner命令现在在RubyGems中,因此您不再需要gemcutter gem进行发布。 gemcutter gem仍然可用,并且尚未包含在命令中,例如gem yankgem webhook

有关所有转换更改的完整故事是here

答案 1 :(得分:7)

RubyGems.org是gems的主机,不是源代码存储库,GitHub是。 GitHub过去常常托管宝石,但他们不再拥有宝石了。您可以随时告诉GitHub托管的gem,因为gem名称以作者的GitHub用户名为前缀。大多数宝石开发人员使用RubyGems托管他们的宝石,并将源代码保存在GitHub上。

答案 2 :(得分:4)

值得一提的是,一些专业的二进制存储库管理器支持私有RubyGems存储库,例如Artifactory

答案 3 :(得分:3)

GitHub不再提供构建或托管新宝石的建议,但建议使用RubyGems(参见http://gems.github.com/)。

答案 4 :(得分:1)

Railscast 183显然是在2009年10月12日发布的。那个月晚些时候,github said你应该使用gemcutter(现在是rubygems.org)。

红宝石社区中的信息很快就过时了。有时候人们不会费心去警告你。 :(