7

我有一个叫做“某物”的宝石。

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

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

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

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

4

2 回答 2

3

您可以add_development_dependencygemspec文件中使用。您仍然必须在一个块内的文件中使用require它。(编辑2,见下文)lib/something.rbbegin .. rescue LoadError

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

spec.add_development_dependency 'pry', '~> 0.9.12.2'

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

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

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

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

于 2013-08-20T12:45:30.323 回答
0

我想我找到了解决方法。如果您将捆绑器配置为pry用作控制台

$ bundle config console pry

Thenpry本身是必需的,您不需要在源文件中明确要求。
另外,您会获得按“↑”的历史记录。

于 2016-09-27T13:08:41.877 回答