Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建和发布自己的rubygem需要哪些步骤?_Ruby_Rubygems - Fatal编程技术网

创建和发布自己的rubygem需要哪些步骤?

创建和发布自己的rubygem需要哪些步骤?,ruby,rubygems,Ruby,Rubygems,您已经创建了一个ruby库 如何创建和发布rubygem?关于创建和发布rubygems,有哪些常见的陷阱和陷阱呢?我建议从这里开始,特别是对于开源项目。也可以尝试谷歌搜索。。。我的第一个搜索结果 您可能还希望签出Hoe gem,它可以自动化gem创建过程 请参阅:有几种工具可以帮助您构建自己的gems。而且是最有名的,有很多好的品质。然而,hoe将自己添加为gem的一个依赖项,而newgem已经成为一个非常大的工具,当我想快速创建和部署gem时,我发现这个工具很难使用 我最喜欢的工具是蒂姆

您已经创建了一个ruby库


如何创建和发布rubygem?关于创建和发布rubygems,有哪些常见的陷阱和陷阱呢?

我建议从这里开始,特别是对于开源项目。

也可以尝试谷歌搜索。。。我的第一个搜索结果


您可能还希望签出Hoe gem,它可以自动化gem创建过程


请参阅:

有几种工具可以帮助您构建自己的gems。而且是最有名的,有很多好的品质。然而,hoe将自己添加为gem的一个依赖项,而newgem已经成为一个非常大的工具,当我想快速创建和部署gem时,我发现这个工具很难使用

我最喜欢的工具是蒂姆·皮斯的。它是轻量级的、功能强大的,并且不会向您的项目添加依赖项。要用它创建一个项目,只需在命令行上运行
bones
,就可以为您构建一个框架,其中包含代码的
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先生拥有您所期望的一套标准功能:您可以使用它来打包库中的gems和tar文件,也可以在RubyForge上发布它,并在那里部署您的文档。不过,它的杀手级功能是能够在主目录中冻结其骨架。运行
bones--freeze
时,名为
.mrbones
的目录将复制到主目录中。您可以编辑其中的文件,为您的gem创建一个按您的工作方式工作的骨架,从那时起,当您运行bones创建新gem时,它将使用您的个人gem骨架。您可以通过运行
Bones--unfreeze
来解冻Mr骨骼,您的骨骼将被备份,默认骨骼将再次使用


(编者按:几个月前我写了一篇关于这一点的博客文章,其中大部分都是从中抄袭的。)

我实际上写了一篇关于这一点的教程,我在学习的过程中就写了这篇文章。它更关注我写的游戏而不是图书馆。此外,它假设您希望通过rake而不是自己构建gem:

  • 关于如何创造宝石
  • 关于如何运行gem安装的二进制文件,并获取参考资料

    • hoe不再像rubygems 1.2那样将自己添加为依赖项。它的rake任务集中于将rubygem部署到rubyforge。如果您只是想从github服务gem,我认为有一些新的hoe-esque rake任务工具可以提供帮助

      把问题的答案换成这个,因为它比“试试谷歌”更具描述性。