【问题标题】:Installing multiple versions of libxml2安装多个版本的 libxml2
【发布时间】:2013-12-09 07:33:31
【问题描述】:

正如“Reason: Incompatible library version: nokogiri.bundle requires version 11.0.0 or later, but libxml2.2.dylib”所提到的,在将 Nokogiri 与 libxml2 >= 2.9.0 版本一起使用时存在兼容性问题。

我在下面看到我在本地安装了 libxml2 v2.2,因此 Nokogiri 可以正常工作。但是,其他一些团队成员的新版本 >= 2.9.0 会导致问题:

jeeves:~ $  ls -l /usr/lib/libxml*
-rwxr-xr-x  1 root  wheel  2390032 Jun 26 06:36 /usr/lib/libxml2.2.dylib
lrwxr-xr-x  1 root  wheel       15 Jun 26 06:42 /usr/lib/libxml2.dylib -> libxml2.2.dylib

我想安装latest libxml2 version (2.9.1),但不想删除我现有的 2.2 版本。换句话说,我想在本地安装多个版本,并且能够在它们之间来回切换。

我注意到/usr/lib/libxml2.dylib 可以重新指向(符号链接)到我想使用的任何版本。是不是像下载最新的*.dylib 文件并重新指向/usr/lib/libxml2.dylib 一样简单?我想不仅要安装一个文件。

谢谢!

【问题讨论】:

    标签: ruby nokogiri libxml2


    【解决方案1】:

    如果你想要更多包含的东西,你可以通过Homebrew 安装非系统版本的 libxml2。

    默认情况下,Brew 将库搜索路径之外的仅库包安装到 /usr/local/Cellar 中,因此您必须通过显式指定它们

    gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/<version>/include/libxml2
    

    ,但您可以使用brew link 将任何库链接(和取消链接)到搜索路径,使其成为默认值。

    【讨论】:

      猜你喜欢
      • 2017-02-06
      • 1970-01-01
      • 2023-01-19
      • 1970-01-01
      • 2022-12-23
      • 2016-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多