所以你创建了一个ruby库。
如何创建和发布rubygem?还有哪些常见的陷阱和陷阱与创建和发布rubygems有关?
答案 0 :(得分:6)
有几种工具可以帮助您构建自己的宝石。 hoe和newgem是最知名的,并且具有很多优良品质。但是,hoe将自己添加为对gem的依赖,而newgem已经成为一个非常大的工具,当我想快速创建和部署gem时,我觉得这个工具很笨拙。
我最喜欢的工具是Tim Pease的Mr Bones。它重量轻,功能强大,不会为项目添加依赖项。要使用它创建项目,只需在命令行上运行bones <my_project_name>
,然后为您构建一个框架,并为您的代码添加lib
目录,为您的bin
目录工具和测试目录。配置位于Rakefile
,并且简洁明了。这是我几个月前做的项目的配置:
load 'tasks/setup.rb'
ensure_in_path 'lib'
require 'friend-feed'
task :default => 'test'
PROJ.name = 'friend-feed'
PROJ.authors = 'Clinton R. Nixon'
PROJ.email = 'crnixon@gmail.com'
PROJ.url = 'friend-feed.rubyforge.org'
PROJ.rubyforge_name = 'friend-feed'
PROJ.dependencies = ['json']
PROJ.version = FriendFeed::VERSION
PROJ.exclude = %w(.git pkg)
Bones先生拥有您期望的标准功能集:您可以使用它来打包库中的宝石和tarfile,以及在RubyForge上发布它并在那里部署您的文档。但它的杀手级功能是它能够在你的主目录中冻结它的骨架。运行bones --freeze
时,会将名为.mrbones
的目录复制到您的主目录中。你可以编辑那里的文件,为你的宝石制作一个骨架,它可以按你的工作方式工作,从那时起,当你运行骨骼来创建一个新宝石时,它将使用你的个人宝石骨架。您可以通过运行bones --unfreeze
来解冻Bones先生,并且将备份您的骨架,并且将再次使用默认骨架。
(编者注:几个月前我写了一篇关于这篇文章的博客文章,其中大部分是从中复制而来的。)
答案 1 :(得分:3)
我建议github作为开始的地方,特别是对于开源项目。
答案 2 :(得分:3)
并尝试谷歌搜索...我的第一个搜索结果...
答案 3 :(得分:3)
您可能还想签出Hoe gem,它可以自动化宝石创建过程。
请参阅:http://nubyonrails.com/articles/tutorial-publishing-rubygems-with-hoe
答案 4 :(得分:1)
我实际上写了一篇关于这个的教程,并且在我学习的时候写了它。它更关注我写的游戏而不是图书馆。此外,它假设您想通过rake而不是自己构建gem:
答案 5 :(得分:1)
hoe不再将自己添加为依赖于rubygems 1.2。它的rake任务集中在将rubygem部署到rubyforge上。如果你只是想从github服务宝石我觉得有一些新的锄头耙任务工具来帮助。