我有一个叫做“某物”的宝石。
我想在开发 gem 时添加 pry 作为开发依赖项。但我不知道如何加载它。
如果我在 lib/something.rb 中有“需要某些东西”,当我释放 gem 时,它会抛出一个 LoadError ,因为 pry 只是一个开发依赖项。
同时,我不想在提交代码时不断添加和删除 pry。
仅在开发应用程序时需要 pry,而不需要它作为 gem 的依赖项的最佳方法是什么?
您可以使用add_development_dependency http://guides.rubygems.org/specification-reference/#add_development_dependency in the gemspec
文件。你仍然需要require
它在你的lib/something.rb
文件内的begin .. rescue LoadError
堵塞。 (编辑2,见下文)
对于您的情况,它将类似于以下内容:
spec.add_development_dependency 'pry', '~> 0.9.12.2'
的目的add_development_dependency
是将 gems 分成依赖项,在执行时安装这些依赖项gem install mygem
vs 仅供开发仅在执行时安装的依赖项gem install mygem --development
.
编辑:@Pierre-Louis Gottfrois 的解决方案
修改Gemfile
直接添加一个test
group. 这个问题 https://stackoverflow.com/questions/10602570/how-to-use-debugger-and-pry-when-developing-a-gem-ruby描述了该过程。根据以下说法,这似乎不是首选解决方案耶胡达·卡茨 http://yehudakatz.com/2010/12/16/clarifying-the-roles-of-the-gemspec-and-gemfile/.
Edit 2: begin require ... rescue LoadError
根据这个,这显然是 Ruby 脚本的常见做法制作红宝石 http://timelessrepo.com/making-ruby-gems文章。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)