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