如何在开发Ruby gem时添加"pry"

Ant*_*tov 6 ruby gem rubygems pry

我有一个名为"东西"的宝石.

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

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

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

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

小智 3

add_development_dependency您可以在文件中使用gemspec。您仍然需要将require其放在lib/something.rb文件中的一个begin .. rescue LoadError块中。(编辑2,见下文)

对于您的情况,它将类似于以下内容:

spec.add_development_dependency 'pry', '~> 0.9.12.2'
Run Code Online (Sandbox Code Playgroud)

的目的add_development_dependency是将 gems 分为在执行时安装的依赖项gem install mygem在执行时安装的仅开发依赖项gem install mygem --development

编辑:@Pierre-Louis Gottfrois 的解决方案

直接修改Gemfile并添加一个test组。这个问题描述了这个过程。根据Yehuda Katz 的说法,这似乎不是一个首选解决方案。

编辑 2:begin require ... rescue LoadError根据这篇Making Ruby Gems文章,这显然是 Ruby 脚本的常见做法。