ruby-on-rails - 如何为 gem 提供广泛的 Rails 版本
问题描述
我是非常简单的Rails 引擎 gem的作者,它基本上只包含一个助手和一些 javascript。
唯一真正的运行时依赖是 jquery-rails。
希望它应该与任何大于 5 的 Rails 版本几乎兼容。当我最初编写 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。
推荐阅读
- python - 如何通过多个级别的 SQLAlchemy 关系检索一组对象?
- r - 如何收集和填写范围内的值
- javascript - 如何在 iframe 中保留 React 应用程序的页面状态/路由
- php - Codeigniter 框架:泰语的文件上传错误名称
- bash - 从循环内部构造命令不会呈现“=”符号
- elasticsearch - 使用弹性搜索如何过滤某个日期范围内出勤率超过 80% 的员工
- pug - 为什么真正的价值呈现为“价值”?
- python - 在 python 中使用通配符匹配重命名级别
- npm - npm 审计报告 人工审核 混淆点
- javascript - 空闲后页面重新加载时,javascript DOM 对象(窗口)扩展属性为空