如何在开发Ruby gem时添加“pry”
我有一个名为“东西”的gem。
我想在开发gem时添加pry作为开发依赖项。 但是我不知道如何加载它。
如果我在lib / something.rb中有“require something”,当我释放gem时,它会抛出一个LoadError,因为pry只是一个开发依赖项。
同时我不想在提交代码时继续添加和删除pry。
仅在开发应用程序时需要pry的最佳方法是什么,但不要求它作为gem的依赖项?
您可以在gemspec
文件中使用gemspec
。 您仍然require
在begin .. rescue LoadError
块中的lib/something.rb
文件中require
它。 (编辑2,见下文)
在您的情况下,它将类似于以下内容:
spec.add_development_dependency 'pry', '~> 0.9.12.2'
add_development_dependency
的目的是将gems分离为执行gem install mygem
vs仅在执行gem install mygem --development
时安装的仅开发依赖项时gem install mygem --development
。
编辑:@ Pierre-Louis Gottfrois的解决方案
直接修改Gemfile
并添加test
组。 这个问题描述了这个过程。 根据Yehuda Katz的说法,这似乎不是一个首选的解决方案。
编辑2: begin require ... rescue LoadError
显然是Ruby脚本的常见做法,根据这篇Making Ruby Gems文章。
我想我找到了一个解决方法。 如果您将bundler配置为使用pry
作为控制台
$ bundle config console pry
然后pry
本身是必需的,您不需要在源文件中明确要求。
另外,你得到了关于’↑’的历史记录。