当 cucumber-rails 添加到 gem 的 .gemspec 时停止 "Cucumber-rails required outside of env.rb..." 消息

Stop "Cucumber-rails required outside of env.rb..." message when cucumber-rails added to a gem's .gemspec

我有一个 gem 并且最近将 cucumber-rails 添加到 .gemspec:

  spec.add_development_dependency "cucumber-rails", "~> 1.4.3"

现在,当我将 gem 与 rake build 打包时,我收到以下消息:

WARNING: Cucumber-rails required outside of env.rb.  The rest of loading is being deferred 
until env.rb is called.  To avoid this warning, move 'gem 'cucumber-rails', 
:require => false' under only group :test in your Gemfile.  If already 
in the :test group, be sure you are specifying ':require => false'.

消除这种情况的最佳方法是什么?我应该将 cucumber-rails 添加到 gem 的 Gemfile 而不是 .gemspec 吗?

如果其他人 运行 参与其中,以下内容对我有用:

  1. 当 cucumber-rails 时自动需要它(并且没有办法禁用它)。从 .gemspec.
  2. 中删除 cucumber-rails
  3. 将其添加为 gem 的 Gemfile 中的依赖项。我的 Gemfile 目前看起来像这样:

    source 'https://rubygems.org'
    
    gemspec
    gem "cucumber-rails", "~> 1.4.3", require: false, group: :test
    

rake build 为 运行 时,这会使错误消失。当我发布 gem 并将其添加到 Rails 应用程序时可能会出现问题。一旦我找到答案,我会更新我的解决方案。

更新:我尝试打包 gem 并将其加载到主机应用程序中。一切看起来都很好。