如何在开发Ruby gem时添加“pry”

我有一个名为“东西”的gem。

我想在开发gem时添加pry作为开发依赖项。 但是我不知道如何加载它。

如果我在lib / something.rb中有“require something”,当我释放gem时,它会抛出一个LoadError,因为pry只是一个开发依赖项。

同时我不想在提交代码时继续添加和删除pry。

仅在开发应用程序时需要pry的最佳方法是什么,但不要求它作为gem的依赖项?

您可以在gemspec文件中使用gemspec 。 您仍然requirebegin .. 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本身是必需的,您不需要在源文件中明确要求。
另外,你得到了关于’↑’的历史记录。