正如“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
一样简单?我想这不仅仅是要安装的一个文件。
谢谢!
答案 0 :(得分:1)
如果您想要更多内容,可以通过Homebrew安装非系统版本的libxml2。
默认情况下,Brew会将库搜索路径之外的仅库包安装到/ usr / local / Cellar中,因此您必须通过
明确指定它们gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/<version>/include/libxml2
,但您可以使用brew link
将任何库链接(和取消链接)到搜索路径中,使其成为默认值。