【问题标题】:libxslt is missing while installing ruby gem nokogiri安装 ruby​​ gem nokogiri 时缺少 libxslt
【发布时间】:2013-04-11 15:19:02
【问题描述】:

我知道这是一个重复的问题,但是我发现的与此问题相关的所有其他答案似乎都没有帮助我...

我正在安装 GitLab 并运行 gem 依赖项,当它达到 NokoGiri gem 要求并失败并显示以下信息时:

ERROR:  Error installing nokogiri:
ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb
extconf.rb:10:in `<main>': Use RbConfig instead of obsolete and deprecated Config.
extconf.rb:10:in `<main>': Use RbConfig instead of obsolete and deprecated Config. 
extconf.rb:11:in `<main>': Use RbConfig instead of obsolete and deprecated Config.
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... yes
checking for xmlParseDoc()... -lxml2
checking for xsltParseStylesheetDoc()... -lxslt
-----
libxslt is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----

所以,这个错误导致我尝试使用以下命令安装libxslt

$ sudo apt-get install libxslt-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libxslt1-dev' instead of 'libxslt-dev'
libxslt1-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 146 not upgraded.

那是什么? NokoGiri 需要这个包,但是这个包已经安装了!!我似乎无法解决这个问题,有什么帮助吗?

【问题讨论】:

    标签: ruby gem nokogiri gitlab libxslt


    【解决方案1】:

    首先确保您拥有所有依赖项,如“Installing Nokogiri with RVM on Ubuntu”中所述(其中提到了相同的错误消息)

    我不知道为什么它找不到包“libxslt”。与其担心这个,我将安装Nokogiri GitHub page 上列出的依赖项:

    $ sudo apt-get install libxslt-dev libxml2-dev
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Note, selecting 'libxslt1-dev' instead of 'libxslt-dev'
    libxslt1-dev is already the newest version.
    libxml2-dev is already the newest version.
    

    这似乎已经足够好,所以我继续前进。下一步是安装实际的 Nokogiri gem。说明说要使用“sudo gem install nokogiri”,但因为我使用的是 RVM,所以我删除了“sudo”部分:

    $ gem install nokogiri
    

    考虑到“Fresh install of RVM in Ubuntu isn't letting me install gems (zlib error)”,因为你有libxslt1-dev(而不是libxslt-dev),你可能会考虑重新编译你的ruby。
    (有点像“How to get Readline support in IRB using RVM on Ubuntu 11.10”)

    【讨论】:

    • Nokogiri github 页面不再引用此内容,但在为旧项目设置开发环境时。但是,您的回答正是我所需要的。
    • @Jason 谢谢。我已经恢复了第一个链接。
    【解决方案2】:

    试试 Nokogiri 1.6.0.rc1,它在 gem 中捆绑了 libxml2 和 libxslt。这应该可以解决您的安装问题:

    gem install nokogiri --pre
    

    应该可以解决问题。

    【讨论】:

    • 依赖 nokogiri 1.5.x 的 gem 怎么样?
    • aws-sdk (~> 1.24.0) ruby​​ 依赖于 nokogiri (= 1.4.4) ruby​​ 。 :(这就像我第三次遇到同样的问题。通常我的解决过程意味着尝试很多东西直到一个有效。
    【解决方案3】:

    也许这对其他人有帮助: 如果收到错误:

    libxslt is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.

    您还需要安装 libxslt 的开发版本 apt-get install libxslt-dev 或在 CentOS 中

    yum install libxslt-devel

    【讨论】:

    • 谢谢,伙计!你拯救了我的一天。
    【解决方案4】:

    尝试安装依赖项

    sudo apt-get install libxslt-dev libxml2-dev
    

    【讨论】:

      【解决方案5】:

      根据您的 Linux 风格从下面选择并安装合适的库:-

      • deb: libxslt1-dev(Debian、Ubuntu 等)
      • rpm:libxslt-devel(Fedora、CentOS、RHEL)
      • csw: libxslt_dev (Solaris)

      使用适当的命令安装,如 apt-get、yum 等。

      【讨论】:

        【解决方案6】:

        如果您想安装以前版本的 nokogiri,安装 Nokogiri 1.6.0.rc1 将无法解决问题。

        您必须单独安装libxslt

        sudo apt-get install libxslt-dev libxml2-dev

        之后再次运行您的命令: (就我而言)

        gem install nokogiri -v '1.5.11'

        【讨论】:

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