如何为 gem 允许广泛的 Rails 版本

How to allow a wide range of Rails versions for a gem

我是非常简单的 Rails engine gem 的作者,它基本上只包含一个助手和一些 javascript。

唯一真正的运行时依赖是jquery-rails.

希望它应该与任何 Rails 版本 > 5 兼容。在我最初编写 gem 时,我使用了实用的波浪箭头。

s.add_dependency 'rails', '~> 5.0.0', '>= 5.0.0.1'

这很愚蠢,因为它不适用于 5.1+。我现在将其更改为公开要求 ">= 5.0" 并且 gem build 警告说它不可取:

WARNING:  open-ended dependency on rails (>= 5.0) is not recommended
  if rails is semantically versioned, use:
    add_runtime_dependency 'rails', '~> 5.0'

在最小化维护和确保良好兼容性方面的最佳做法是什么?

我是否应该将 Rails 依赖项声明为 development_dependency,因为它暗示 gem 安装在 rails 引擎中?

警告中的建议是个好建议。

s.add_dependency 'rails', '~> 5.0' 这意味着 Rails 5.x 没问题,但 6.x.

就不行了