如何在开发gem时使用'debugger'和'pry'?(红宝石)

jan*_*o-m 1 ruby testing gem bundler gemspecs

我正在开发一个gem,我的Gemfile看起来像这样:

source :rubygems

gemspec

group :development, :test do
  gem "pry"
  gem "debugger"
  gem "rake"
end
Run Code Online (Sandbox Code Playgroud)

但是,我不希望人们必须安装prydebugger运行测试,但我也希望能够在我的测试中要求它们(因为我正在运行带有前缀的测试bundle exec,我无法在我的加载路径中获取它们如果他们不在Gemfile中).我该如何实现这一目标?

另外,何时将用于开发的宝石放在gemspec中,何时将它们放入Gemfile中?我真的不知道区别.

And*_*Vit 5

您可以将gemspec作为开发依赖项添加到gemspec中,如下所示:

Gem::Specification.new do |s|
  # ...
  s.add_development_dependency 'pry'
  s.add_development_dependency 'debugger'
  s.add_development_dependency 'rake'
end
Run Code Online (Sandbox Code Playgroud)

这些只会在处理gem时安装,而不是在安装gem本身时安装.