在安裝完全新安裝的Mac OS X 10.8 Mountain Lion並安裝Ruby 1.9.3和Ruby on Rails 3.2.6後,我開始了Rails的控制檯,我得到這個警告消息:警告:Nokogiri是針對LibXML 2.7.3版本構建的,但已動態加載2.7.8
警告:引入nokogiri始建反對的libxml版本2.7.3,但 動態加載2.7.8
我怎樣才能解決呢?
在安裝完全新安裝的Mac OS X 10.8 Mountain Lion並安裝Ruby 1.9.3和Ruby on Rails 3.2.6後,我開始了Rails的控制檯,我得到這個警告消息:警告:Nokogiri是針對LibXML 2.7.3版本構建的,但已動態加載2.7.8
警告:引入nokogiri始建反對的libxml版本2.7.3,但 動態加載2.7.8
我怎樣才能解決呢?
我發現了Lion的一些修正,但沒有爲Lion Lion修復。不過我已經嘗試這樣做,它的工作原理:
gem uninstall nokogiri libxml-ruby
brew update
brew uninstall libxml2
brew install libxml2 --with-xml2-config
brew link libxml2
brew install libxslt
brew link libxslt
gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2/ --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/lib/ --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26/
來源(適用於獅子):https://gist.github.com/1349681
這可能但是對於Rails/RVM環境來說,@ kyubey的答案可能更一般。 – 2012-10-08 19:50:22
這取決於。有時候@ kyubey的回答不起作用,尤其是在安裝了舊紅寶石的系統上。在新安裝的OS X上,AFAIK沒有問題。 – 2012-10-09 13:44:29
嗨,大家好,這是優勝美地嗎? – olleh 2015-01-12 08:32:36
我重新安裝紅寶石,即固定它。能夠使用內置庫。
這真的是要走的路。只需重新安裝紅寶石,然後您不必擔心使用自定義編譯的libxml的複雜性。 – kjg 2012-07-26 17:28:08
簡單:'rvm uninstall 1.9.3-p194'。然後'rvm安裝1.9.3'。之前的所有寶石均保留。 '寶石安裝nokogiri'。作品! – Meltemi 2012-07-26 23:30:51
我不得不安裝Xcode和命令行工具來再次安裝ruby 1.9.3(即使使用brew的apple-gcc42也不適合我)。可以使用首選項 - >下載 - >組件安裝Xcode CLI。 – danigb 2012-07-28 10:27:02
gem uninstall nokogiri
bundle install
變得更棒:
gem pristine nokogiri
注:
爲你升級你的系統庫改變這屢有發生。
這在山獅(10.8.2)中適用於我。捆綁安裝重新下載nokogiri並重新編譯它,使用我已經安裝的libxml。 – 2012-12-09 14:13:56
確認這適用於我在山獅10.8.2 – nXqd 2013-04-16 12:56:47
我已經使用過這兩次了:「gem pristine nokogiri」 – 2013-08-21 02:46:18
基於@David的回答,以下步驟對我來說已經足夠了。沒有編譯器標誌和自定義路徑。
gem uninstall nokogiri
brew update
brew install libxml2
brew update libxml2
brew link libxml2
gem install nokogiri
請注意,關聯在@Davids後會與您的編譯工具和鏈路發生干擾到您的OS(這是最有可能不是你想要什麼,如果你使用BREW),但你可以執行的每個命令除了以上省略了「BREW鏈接」行,一切仍然會建造得很好,例如:
gem uninstall nokogiri libxml-ruby
brew update
brew uninstall libxml2
brew install libxml2 --with-xml2-config
brew install libxslt
gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2/ --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/lib/ --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26/
這是一個常見問題,所以,但這是爲我修復它的答案。其他任何人都應該注意到版本已經改變了,所以不要複製/粘貼最後一行。 'gem install nokogiri - --with-xml2-include =/usr/local/Cellar/libxml2/[VERSION]/include/libxml2/--with-xml2-lib =/usr/local/Cellar/libxml2/[VERSION ]/lib/--with-xslt-dir =/usr/local/Cellar/libxslt/[VERSION] /' – 2013-09-23 01:03:40
把gem 'nokogiri'
上述gem 'pg'
在我的Gemfile固定這對我來說。
我的Gemfile中沒有nokogiri,但是它是Gemfile.lock中的依賴項,所以我將它明確地放在我的Gemfile中。
這就是答案:[http://stackoverflow.com/questions/16921700/how-to-load-correct-version-of-dynamic-libraries-and-gems-libxml-nokogiri-wit][1] [1]:http://stackoverflow.com/questions/16921700/how-to-load-correct-version-of-dynamic-libraries-and-gems-libxml-nokogiri-wit – 2013-10-24 12:00:10