【问题标题】:rails error cannot load such file --nokogirirails错误无法加载此类文件--nokogiri
【发布时间】:2015-05-15 09:32:00
【问题描述】:

因此,如果我输入了几乎任何内容,我就会收到此错误并且我找不到解决方案。

在尝试安装基础时发现它,但我确定它之前是一个问题。这是 ruby​​ on rails 的全新(尝试)安装。

如果我尝试 rake、生成控制器或其他任何东西,就会出现此错误。请帮忙。

C:\Sites\Project>rails g
C:/Ruby22/lib/ruby/gems/2.2.0/gems/nokogiri-1.6.6.2-x86-mingw32/lib/nokogiri.rb:29:in `require': cannot load such file -- nok
ogiri/nokogiri (LoadError)
        from C:/Ruby22/lib/ruby/gems/2.2.0/gems/nokogiri-1.6.6.2-x86-mingw32/lib/nokogiri.rb:29:in `rescue in <top (required)
>'
   ...etc

【问题讨论】:

标签: ruby-on-rails


【解决方案1】:

你需要安装nokogiri,尝试用命令安装nokogiri:

sudo gem install nokogiri

为了正常工作,一些 gem 需要 nokogiri gem,所以你需要安装它,在 nokogiri 网站上有一个非常详细的文档教程,用于安装多个操作系统installing nokogiri

如果你在 Mac 上运行 Yosemite,你可能需要运行这个:

gem update --system

正如安装指南所示,这是一些新的 Yosemite 安装的问题。

当你在你的机器上成功安装后,你可以继续正常工作,生成控制器、运行 rake、启动服务器、捆绑安装等

如果使用 sudo 安装或捆绑安装都不起作用,请阅读下面的说明并再次尝试 sudo/bundle。

注意:要安装 nokogiri,您需要安装 命令行工具也是如此,如果您使用的是 OSX。

所以尝试运行:

xcode-select --install

在您的终端中。

【讨论】:

    【解决方案2】:

    我在我的 Mac OS 上遇到了这个问题。假设你已经安装了 libxml2 和 homebrew,对我来说有必要执行这些步骤:

    $ brew list libxml2
    /usr/local/Cellar/libxml2/2.9.7/bin/xml2-config
    /usr/local/Cellar/libxml2/2.9.7/bin/xmlcatalog
    /usr/local/Cellar/libxml2/2.9.7/bin/xmllint
    /usr/local/Cellar/libxml2/2.9.7/include/libxml2/ (47 files)
    /usr/local/Cellar/libxml2/2.9.7/lib/libxml2.2.dylib
    /usr/local/Cellar/libxml2/2.9.7/lib/cmake/libxml2/libxml2-config.cmake
    /usr/local/Cellar/libxml2/2.9.7/lib/pkgconfig/libxml-2.0.pc
    /usr/local/Cellar/libxml2/2.9.7/lib/python2.7/ (4 files)
    /usr/local/Cellar/libxml2/2.9.7/lib/ (3 other files)
    /usr/local/Cellar/libxml2/2.9.7/share/aclocal/libxml.m4
    /usr/local/Cellar/libxml2/2.9.7/share/doc/ (153 files)
    /usr/local/Cellar/libxml2/2.9.7/share/gtk-doc/ (55 files)
    /usr/local/Cellar/libxml2/2.9.7/share/man/ (4 files)
    $  sudo ln -s /usr/local/Cellar/libxml2/2.9.7/lib/python2.7/site-packages/* .
    $ irb             
    >> require 'nokogiri'
    => true
    

    如果你没有安装 libxml2:

    brew install libxml2
    

    【讨论】:

      【解决方案3】:

      请在控制台中尝试: gem install nokogiri

      【讨论】:

      • 这并没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
      • 我不同意。我相信这很直接地回答了这个问题。
      • nokogiri 的网站nokogiri.org/tutorials/installing_nokogiri.html: brew install libxml2 libxslt &amp;&amp; gem install nokogiri --platform=ruby -- --use-system-libraries 上提到了这一步,但同样的问题! :-(
      【解决方案4】:

      就我而言,我通过使用 rvm 将 ruby​​ 更新到 3.0.2 解决了我的问题。

      从 MacOS 的 ruby​​ 2.6.3 开始

      which ruby
      ruby -v
      

      安装 ruby​​ 3.0.2

      rvm install ruby-3.0.2
      

      检查以确保ruby 命令已更新

      ruby -v
      which ruby
      // should be version 3.0.2 in the /Users/yourprofilename/.rvm/ruby-3.0.2/bin/ruby
      // instead of the original /usr/local/bin
      

      安装您最初尝试使用的软件包 - 以我为例:

      gem install bundler
      bundle install
      bundle exec middleman server // This is for running my slatedocs project
      

      老问题,但我希望这对遇到类似问题的人有所帮助。

      【讨论】:

        【解决方案5】:

        当我尝试运行 Rails 服务器时,它一直失败并显示以下错误。

        /Library/Ruby/Gems/2.6.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require': 无法加载这样的文件 -- nokogiri/nokogiri (加载错误)

        以下步骤帮助我解决了这个问题。

        运行gem uninstall nokogiri

        gem "nokogiri", "&gt;= 1.6.7.rc" 添加到您的 Gemfile 中

        运行bundle install

        如果捆绑包已将 Nokogiri 锁定在某个版本,请运行 bundle update nokogiri

        参考:https://stackoverflow.com/a/33410164/5210943

        【讨论】:

          猜你喜欢
          • 2012-05-15
          • 1970-01-01
          • 2020-12-07
          • 2016-05-29
          • 1970-01-01
          • 1970-01-01
          • 2015-05-14
          • 2021-07-08
          相关资源
          最近更新 更多