我有一个叫做“某物”的宝石。
我想在开发 gem 时添加 pry 作为开发依赖项。但是我不知道如何加载它。
如果我在 lib/something.rb 中有“需要的东西”,当我释放 gem 时,它会抛出一个 LoadError,因为 pry 只是一个开发依赖项。
同时,我不想在提交代码时继续添加和删除 pry。
仅在开发应用程序时才需要 pry 的最佳方法是什么,而不需要它作为 gem 的依赖项?
您可以add_development_dependency在gemspec文件中使用。您仍然必须在一个块内的文件中使用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 脚本的常见做法。
我想我找到了解决方法。如果您将捆绑器配置为pry用作控制台
$ bundle config console pry
Thenpry本身是必需的,您不需要在源文件中明确要求。
另外,您会获得按“↑”的历史记录。