2013-12-09 88 views
0

由於「Reason: Incompatible library version: nokogiri.bundle requires version 11.0.0 or later, but libxml2.2.dylib」提到,在使用Nokogiri版本爲libxml2> = 2.9.0時存在兼容性問題。安裝libxml2的多個版本

我在下面看到,我在本地安裝了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

如果您想要更多一些內容,可以通過Homebrew安裝非系統版本的libxml2。

默認情況下,釀造安裝庫只包庫搜索路徑之外到/ usr /本地/酒窖,所以,你必須通過

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

明確指定他們,但你可以鏈接(和取消鏈接)任何庫到brew link的搜索路徑,使其成爲默認值。