【问题标题】:Bundler conflict requirements for the Ruby versionRuby 版本的 Bundler 冲突要求
【发布时间】:2021-10-18 07:53:37
【问题描述】:

我安装了rbenv,但是当尝试执行这个命令时 bundle install --path vendor/bundle我出错了。

错误:

  Bundler found conflicting requirements for the Ruby version:
  In Gemfile:
    Ruby (~> 2.3.7.0)

    github-pages (~> 212) was resolved to 212, which depends on
      jekyll-feed (= 0.15.1) was resolved to 0.15.1, which depends on
        Ruby (>= 2.4.0)

我该如何解决这个问题?

【问题讨论】:

  • 错误信息的哪一部分让您感到困惑?意思是您需要更新版本的 ruby​​ (2.4+) 或旧版本的 github-pages。 (我认为207 是最新的支持 ruby​​ 2.3。)
  • 可能 (??) 让您感到困惑的关键点是:~> 2.3.7.0 not 是否意味着“大于或等于 2.3.7.0。它的意思是 @987654327 @. 所以,你已经明确指定了一个版本约束 NOT 来使用 ruby​​ v2.4.0.
  • 我明白了。抱歉,我对此真的很陌生。谢谢!

标签: ruby installation bundler rbenv


【解决方案1】:

正如 cmets 中提到的,错误是说您有 2 个选项,将ruby 升级到更高版本或降级github pages,您提到您正在使用rbenv,这对于这种情况非常有用。您需要做的就是升级您的 ruby​​ 版本。转到您的项目文件夹并打开一个终端,然后您可以执行以下操作:

rbenv install x.y.z,其中 xyz 是您要安装的 ruby​​ 版本(例如 2.4.0),之后您需要做的就是指定要在该项目中使用的 ruby​​ 版本,所以在同一个终端运行:rbenv local x.y.z。就是这样,您应该可以运行bundle install

几点说明:

  • 记得用正确的 ruby​​ 版本更新你的 gemfile(升级后)

  • 如果您想在特定路径中安装 gem 并且使用 bundle >= 2(检查 gem 版本:gem list | grep bundle),您应该使用配置文件而不是在命令中指定路径。在你的根目录创建一个 .bundle 文件夹并添加一个名为 config 的文件,然后在该文件中添加路径(例如 BUNDLE_PATH: ./vendor/bundle)

【讨论】:

    【解决方案2】:

    在您的 gemfile 中有列出的

    Ruby (~> 2.3.7.0)
    github-pages (~> 212)
    

    github-pages 212 依赖于 jekyll-feed 0.15.1,它需要 ruby​​ 2.4。

    要使用 github-pages 212,您需要升级到 ruby​​ 2.4+,或者将 github-pages 降级到也支持 2.3 的旧版本

    【讨论】:

    • 对不起,我是新手。如何升级 ruby​​ 2.4+ 并降级 github-pages?
    • 不需要两者都做,它们是替代品。您只需要升级 ruby​​ 或降级 github-pages。更简单的选择是将 github-pages 降级到 202(我认为这应该可行),更好的选择是升级 ruby​​,但这有时会涉及更多步骤,并且取决于您的环境。
    猜你喜欢
    • 2019-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    • 2014-02-07
    相关资源
    最近更新 更多