答案 0 :(得分:52)
从命令行:
bundle gem your_new_gem
这将创建一个名为your_new_gem
的目录,其中只有一组基本文件和目录结构,现在被认为是最佳实践。它快速,简单,是一个很好的起点。
答案 1 :(得分:7)
创建宝石并不困难,我建议尝试从头开始构建宝石,不需要任何工具。在您知道所涉及的内容(创建gemspec,构建并将其推送到rubygems.org)之后,您可以使用工具来加速该过程。我的猜测是你不会因为制作宝石几乎不是麻烦。
答案 2 :(得分:3)
我会和珠宝商一起去。 Bundler骨架只会为您提供基础知识。 Jeweler有很多可供使用的选项和许多有用的rake任务,用于版本控制,推送到github,创建gemspec,构建和安装。
如果你正在使用Rails 3引擎,我有一个Jeweler fork(绝对是正在进行的工作),它将生成app skelaton并包含引擎文件。您只需运行带有--rails3-engine
的jeweler命令作为选项。如果您有兴趣,这是叉子:
https://github.com/johnmcaliley/jeweler
答案 3 :(得分:1)
这是一个值得关注的替代方案:ore
Bundler为ruby gems提供了一个模板,而ore有多个内置模板,还有创建自己的模板的能力。它还支持Git,SVN(urgh)和Mercurial。
答案 4 :(得分:1)
我建议使用内置的bundler命令。
bundle gem your_gem_name
创建gem时应遵循一些规则。例如命名约定和版本控制规则。 我最近写了一篇关于在netguru博客中创建宝石的文章。我想你会在那里找到你需要的东西。
https://netguru.co/blog/posts/creating-a-gem-a-step-by-step-tutorial
希望这有帮助。
答案 5 :(得分:1)
您也可以在RubyMine中构建宝石。文件>新项目>新宝石。就这么简单。但我想对这种方法做一些说明:
对于调试,RubyMine将使用Fast Debugger宝石ruby-debug-ide。我知道现在大多数人都将Pry与Byebug一起使用,但是ruby-debug-ide是一个将ruby-debug与Eclipse(RDT),NetBeans和RubyMine等IDE粘合的接口。
在运行>编辑配置> +> Ruby下,根据此处的文档添加新的调试配置:https://www.jetbrains.com/help/ruby/run-debug-configuration-gem-command.html#1
在“ Ruby脚本”下的“配置”下,我将路径添加到lib下的ruby gem文件:lib / my_gem.rb 在“配置”下的“ Ruby SDK”下,我指定要使用的RVM gemset。 在“捆绑程序”部分下,我选中“在捆绑程序的上下文中运行脚本”。这将使用bundle exec,它将读取项目根目录下Gemfile中的依赖项。现在,对于gems,Gemfile包含一个名为“ gemspec”的方法,该方法依次读取my_gem.gemspec中依赖项中的依赖项。在那里,我已经将依赖项传递给了Gem :: Specification.new块:
spec.add_development_dependency "bundler", "~> 1.7"
spec.add_development_dependency "rake", "~> 10.0"