【问题标题】:Nokogiri requires Ruby version < 2.3Nokogiri 需要 Ruby 版本 < 2.3
【发布时间】:2020-06-11 13:38:40
【问题描述】:

我正在尝试让 Rails 在 Windows 10 上运行。我正在使用 Ruby 2.3.0 和 Rails 4.2.6,并且暂时使用 Nokogiri 1.6.3。

当我尝试运行rails new demo 时,它返回一个错误:

An error occurred while installing nokogiri (1.6.7.2), and Bundler cannot
continue.
Make sure that `gem install nokogiri -v '1.6.7.2'` succeeds before bundling.

当我运行gem install nokogiri -v '1.6.7.2 时,我得到:

ERROR:  Error installing nokogiri:
        nokogiri requires Ruby version < 2.3, >= 1.9.2.

如何更新 Nokogiri 并让 Rails 正常工作?

【问题讨论】:

  • ruby -v 输出什么?
  • 它似乎只适用于 windows,在 linux 中适用于 2.3.0 ruby​​
  • 很遗憾,但除非您想尝试发布候选方法,否则您需要降级您的 Ruby 版本。另一个选择是尝试 JRuby,如果这对你来说不是太激烈的话。 JRuby 可能有助于减少 Windows Rubyists 可能遇到的特定于操作系统的问题。

标签: ruby-on-rails ruby nokogiri


【解决方案1】:

安装最新版本的Nokogiri。在 Gemfile 中:

gem 'nokogiri', '~> 1.6.8.rc2'

【讨论】:

  • 这不是一个命令,它是 Gemfile 的一行。添加后,您必须运行bundle install。如果您安装了 bundler 并且只执行了gem install,您将安装两个版本的 nokogiri,但该项目仍将使用旧版本。
  • 这确实解决了问题,与海报相同的版本,Win10,Ruby 2.3.0p0。你能解释一下是什么导致了这个问题,以及这条线做了什么来解决它?
【解决方案2】:

使用bundle update nokogiri,但还要检查你的ruby版本ruby -v

【讨论】:

  • ruby -v : ruby 2.3.0p0 (2015-12-25 revision 53290) [x64-mingw32] bundle update nokogiri : This Bundle hasn't been installed yet. Run 'bundle install' to update and install the bundled gems.
【解决方案3】:

问题已在 Nokogiri 1.8.0 版本中解决。

【讨论】:

    【解决方案4】:

    我和你有同样的问题。在 Windows 上,您需要执行一个额外的步骤:

    http://www.nokogiri.org/tutorials/installing_nokogiri.html

    【讨论】:

    • 是的,这就是我获得初始 nokogiris 的方式,但我需要 1.6.7.2 才能使其正常工作。在这种情况下,当我使用 gem 时,也会出现同样的错误。
    【解决方案5】:

    我最近在使用 Ruby v2.4.1 在 Windows 上安装 Rails 时遇到了同样的问题 我发现删除 gemfile 行:

    gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
    

    然后运行bundle update

    然后将 tzinfo-data 行放回 gemfile 中

    然后我可以毫无问题地运行 bundle。一切都恢复正常了。

    【讨论】:

      猜你喜欢
      • 2019-06-29
      • 2023-03-03
      • 1970-01-01
      • 2020-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多