我有一个名为“某事”的宝石。
我想在开发gem时添加pry作为开发依赖项。但是我不知道如何加载它。
如果我在lib / something.rb中有“require something”,当我释放gem时,它会抛出一个LoadError,因为pry只是一个开发依赖。
与此同时,我不想在提交代码时继续添加和删除pry。
仅在开发应用程序时需要pry的最佳方法是什么,但不要求它作为gem的依赖项?
答案 0 :(得分:3)
您可以使用gemspec
文件中的add_development_dependency
。您仍需要在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 仅开发依赖项时安装的依赖项,这些依赖项仅在您执行{{ 1}}。
编辑:@ Pierre-Louis Gottfrois的解决方案
直接修改gem install mygem --development
并添加Gemfile
组。 This question描述了该过程。根据{{3}},这似乎不是首选解决方案。
编辑2:test
显然是Ruby脚本的常见做法,根据这篇Yehuda Katz文章。
答案 1 :(得分:0)
我想我找到了解决方法。
如果您将bundler配置为使用pry
作为控制台
$ bundle config console pry
然后pry
本身是必需的,您不需要在源文件中明确要求。
此外,您还可以获得关于按下' ↑'。