ruby gem 依赖问题,在安装 运行 包之前需要知道 gem 是否兼容?
ruby gem dependency issue, need to know if a gem is compatible before running bundle install?
我正在按照一些教程设置 GemFile。
如果 gem 的旧版本将其依赖项指定为 rubygems.org 上的 rake ~>10.3
这是否意味着更高版本的 rake 将无法与此 gem 一起使用?
Gem 依存关系视具体情况而定。没有办法说任何 gem 会或不会向后兼容,您必须进行测试。 "closer" 版本越多,就越有可能兼容,但这绝不是您可以遵循或信任的规则。
另外,我也不知道你是否理解它的语法。 ~> 10.3
并不意味着 rake 必须是版本 10.3
。这是一个有点混乱的操作数,但将版本限制为版本的子集。
rake ~>10.3
表示:10.3.0 <= version < 11.0.0
。依赖约束是 而不是 表示 rake
必须完全是版本 10.3.0
.
我唯一可以肯定地说的是,该捆绑包将拒绝安装,除非它包含该范围内的 rake
版本。
gem 实际上 可以与更高版本的 rake
一起使用吗?可能是。这取决于代码实际做什么!这个gem的旧版本可能(?)是在rake v11.0.0
发布之前写的,所以当时无法知道它是否兼容。
您 可以 创建您自己的旧 gem 版本的副本并尝试 loosening/removing 依赖约束,但我不推荐它;最好只升级所有代码以使用更新的(最好是最新的)版本,或者在绝对必要时降级其他库以实现兼容性。
我正在按照一些教程设置 GemFile。 如果 gem 的旧版本将其依赖项指定为 rubygems.org 上的 rake ~>10.3 这是否意味着更高版本的 rake 将无法与此 gem 一起使用?
Gem 依存关系视具体情况而定。没有办法说任何 gem 会或不会向后兼容,您必须进行测试。 "closer" 版本越多,就越有可能兼容,但这绝不是您可以遵循或信任的规则。
另外,我也不知道你是否理解它的语法。 ~> 10.3
并不意味着 rake 必须是版本 10.3
。这是一个有点混乱的操作数,但将版本限制为版本的子集。
rake ~>10.3
表示:10.3.0 <= version < 11.0.0
。依赖约束是 而不是 表示 rake
必须完全是版本 10.3.0
.
我唯一可以肯定地说的是,该捆绑包将拒绝安装,除非它包含该范围内的 rake
版本。
gem 实际上 可以与更高版本的 rake
一起使用吗?可能是。这取决于代码实际做什么!这个gem的旧版本可能(?)是在rake v11.0.0
发布之前写的,所以当时无法知道它是否兼容。
您 可以 创建您自己的旧 gem 版本的副本并尝试 loosening/removing 依赖约束,但我不推荐它;最好只升级所有代码以使用更新的(最好是最新的)版本,或者在绝对必要时降级其他库以实现兼容性。