【问题标题】:On Ruby: uninitialized constant Nokogiri::ClassResolver (NameError)在 Ruby 上:未初始化的常量 Nokogiri::ClassResolver (NameError)
【发布时间】:2022-06-25 12:43:29
【问题描述】:

我目前在启动我的 .rb 时遇到了这个问题,上面写着 1: from /var/lib/gems/2.7.0/gems/nokogiri-1.13.1-x86_64-linux/lib/nokogiri/xml/node.rb:56:in `<module:XML>' /var/lib/gems/2.7.0/gems/nokogiri-1.13.1-x86_64-linux/lib/nokogiri/xml/node.rb:59:in `<class:Node>': uninitialized constant Nokogiri::ClassResolver (NameError)

我已将这些行放在我的 .rb 中:

require 'rubygems'
require 'nokogiri'
require 'open-uri'

doc = Nokogiri::HTML(open('http://www.google.com/search?q=doughnuts'))
puts doc

我的 Gemfile 包含这个:

source 'https://rubygems.org'

ruby '2.7.4'
gem 'rspec'
gem 'nokogiri'
gem 'open-uri'

是否有人知道导致此错误的问题或疏忽?

谢谢!

【问题讨论】:

  • 据我所知,这似乎是与 usr/local/bin 权限相关的问题(我正在使用 Xubuntu 上的虚拟机)。

标签: ruby rubygems nameerror


【解决方案1】:

“nokogiri”包更新版本可能有错误,所以在删除新版本后尝试安装较低版本的 nokogiri 包....试试这个,

我不确定,我已在一篇高级开发人员帖子中阅读过。

【讨论】:

    【解决方案2】:

    以下为我修复了它:

    sudo apt-get remove ruby-nokogiri
    

    【讨论】:

      【解决方案3】:

      这解决了我的问题:

      require 'nokogiri/class_resolver'
      require 'nokogiri'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多