安装多个版本的libxml2

时间:2013-12-09 07:33:31

标签: ruby nokogiri libxml2

正如“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一样简单?我想这不仅仅是要安装的一个文件。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您想要更多内容,可以通过Homebrew安装非系统版本的libxml2。

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

明确指定它们
gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/<version>/include/libxml2

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