Ruby on rails 如何为gem提供多种Rails版本

Ruby on rails 如何为gem提供多种Rails版本,ruby-on-rails,ruby,rubygems,bundler,Ruby On Rails,Ruby,Rubygems,Bundler,我是《非常简单》的作者,它基本上只由一个助手和一点javascript组成 唯一真正的运行时依赖项是jquery rails 希望它能与任何Rails版本>5兼容。当我最初写《宝石》时,我使用了一个实用的弯曲箭头 s.add_dependency 'rails', '~> 5.0.0', '>= 5.0.0.1' 这是相当愚蠢的,因为它不适用于5.1+。我现在将其更改为开放式需求“>=5.0”,并且gem build警告不建议: WARNING: open-ended depen

我是《非常简单》的作者,它基本上只由一个助手和一点javascript组成

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

希望它能与任何Rails版本>5兼容。当我最初写《宝石》时,我使用了一个实用的弯曲箭头

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依赖项声明为开发依赖项,因为这意味着gem安装在Rails引擎中?

警告中的建议是很好的建议


s.add\u dependency'rails',“~>5.0”
这意味着rails 5.x可以使用,但6.x不行。

s.add\u dependency'rails',“~>5.0”
将允许任何操作
∈ [5.0,6.0)
@AlekseiMatiushkin我认为“~>5.0”允许在最后一个点之后有任何数字。所以“5.0”-“5.999999”而不是“6.0”。@Foton我写的正是这个。