我正在按照一些教程设置宝石文件。 如果旧版本的 gem 将其依赖项指定为 rake ~>10.3 on rubygems.org 这是否意味着更高版本的 Rake 不适用于此宝石?
rake ~>10.3
的意思是:10.3.0 <= version < 11.0.0
。依赖约束并不是说rake
必须完全是版本10.3.0
。
我唯一可以肯定地说的是,除非该捆绑包包含该范围内的rake
版本,否则该捆绑包将拒绝安装。
宝石真的可以与更高版本的rake
一起使用吗?或。这取决于代码的实际作用!这个宝石的旧版本可能是(?)在rake v11.0.0
发布之前编写的,因此当时无法知道它是否兼容。
您可以创建自己的旧 gem 版本副本并尝试放宽/删除依赖约束,但我不建议这样做;最好只升级所有代码以使用较新的(最好是最新版本)版本,或者在绝对必要时降级其他库以实现兼容性。
Gem 依赖关系是逐案处理的。没有办法说任何宝石都会或不会向后兼容,你必须进行测试。版本越"接近",它就越有可能兼容,但这绝不是您可以遵循或信任的规则。
此外,我不知道您是否理解其中的语法。~> 10.3
并不意味着 rake 必须是版本10.3
.这是一个有点令人困惑的操作数,但将版本限制为版本的子集。