【发布时间】:2019-03-15 13:44:34
【问题描述】:
我是相当简单的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'将允许任何事情∈ [5.0, 6.0)。 -
@AlekseiMatiushkin 我认为 '~> 5.0' 在最后一个点之后允许任何数字。所以 '5.0' - '5.999999' 但不是 '6.0' 。
-
@Foton 我写的正是这个。
标签: ruby-on-rails ruby rubygems bundler