Bundler更新依赖冲突:为何nokogiri 1.11.1不满足约束?
关于nokogiri 1.11.1版本兼容问题的排查与解决
你说得没错,nokogiri 1.11.1确实满足所有列出的约束条件:
- 满足
>=1.3.3 - 满足
>=1.5.11且<2.0.0 ~>1等价于>=1.0.0且<2.0.0,完全符合~>1.3等价于>=1.3.0且<2.0.0,也符合
出现Bundler报错的原因大概率不是版本约束本身冲突,而是以下几种常见情况:
可能的原因及解决步骤
- 本地缓存或平台兼容问题:Bundler可能找不到对应平台的nokogiri 1.11.1版本(比如原生扩展编译问题)。先清理缓存再重试:
bundle clean --force bundle install - Bundler版本bug:旧版本的Bundler对版本约束的解析可能存在问题。更新到最新稳定版:
gem update bundler - Gemfile.lock锁定冲突:旧的.lock文件可能残留了其他版本约束。删除
Gemfile.lock后重新安装:rm Gemfile.lock bundle install - 本地未安装该版本:确认本地是否存在nokogiri 1.11.1,没有的话手动安装再重试:
gem install nokogiri -v 1.11.1 bundle install - 尝试放宽版本锁定:暂时把Gemfile里的
nokogiri (= 1.11.1)改成nokogiri (~> 1.11),让Bundler自动匹配兼容版本,成功后再尝试锁定到1.11.1。
内容的提问来源于stack exchange,提问作者Roaring Stones
相关产品推荐
相关产品推荐

