如何为 Rails 应用程序使用特定的 Nokogiri 版本

How to use a specific Nokogiri version for Rails application

我正在尝试 运行 我几年前编写的 Rails 应用程序,但是当我 运行 rails server 时,我一直收到此错误:

/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/dependency.rb:319:in `to_specs': Could not find 'nokogiri' (>= 1.5.9) - did find: [nokogiri-1.5.6] (Gem::LoadError)

我很困惑,因为我安装了 Nokogiri v1.8.2 和 v1.10.7,并在 .gem/ruby/2.3.0/Library/Ruby/Gems/2.3.0 下看到它们。不过我没有看到 Nokogiri v1.5.6,所以我不确定应用程序是从哪里获取的。

我试过添加

gem 'nokogiri', '~> 1.10', '>= 1.10.3'

到 Gemfile,以及

gem 'nokogiri', '~> 1.5.6'

我正在尝试弄清楚是否可以更改 GEM_PATH,但希望有另一个我没有看到的解决方案。

Nokogiri 由 Rails 使用,因此您无需将其添加到您的 Gemfile,但您可以使用以下方式更新 Gemfile.lock 中的版本:

bundle update nokogiri