2014-05-13 25 views
11

我正試圖在Mac OSX 10.9.2上安裝vagrant-windows插件。然而,我始終得到Bundler無法安裝nokogiri 1.6.2的錯誤。流浪漢插件和nokogiri安裝問題

檢查gem_make.out文件顯示nokogiri找不到libxml2,我已經安裝並通過自制程序鏈接。

下面是我gem_make.out

/Applications/Vagrant/embedded/bin/ruby extconf.rb 
Building nokogiri using packaged libraries. 
checking for iconv.h... yes 
checking for iconv_open() in iconv.h... no 
checking for iconv_open() in -liconv... yes 
Building libxml2-2.8.0 for nokogiri with the following patches applied: 
    - 0001-Fix-parser-local-buffers-size-problems.patch 
    - 0002-Fix-entities-local-buffers-size-problems.patch 
    - 0003-Fix-an-error-in-previous-commit.patch 
    - 0004-Fix-potential-out-of-bound-access.patch 
    - 0005-Detect-excessive-entities-expansion-upon-replacement.patch 
    - 0006-Do-not-fetch-external-parsed-entities.patch 
    - 0007-Enforce-XML_PARSER_EOF-state-handling-through-the-pa.patch 
    - 0008-Improve-handling-of-xmlStopParser.patch 
    - 0009-Fix-a-couple-of-return-without-value.patch 
    - 0010-Keep-non-significant-blanks-node-in-HTML-parser.patch 
    - 0011-Do-not-fetch-external-parameter-entities.patch 
************************************************************************ 
IMPORTANT! Nokogiri builds and uses a packaged version of libxml2. 

If this is a concern for you and you want to use the system library 
instead, abort this installation process and reinstall nokogiri as 
follows: 

    gem install nokogiri -- --use-system-libraries 

If you are using Bundler, tell it to use the option: 

    bundle config build.nokogiri --use-system-libraries 
    bundle install 

However, note that nokogiri does not necessarily support all versions 
of libxml2. 

For example, libxml2-2.9.0 and higher are currently known to be broken 
and thus unsupported by nokogiri, due to compatibility problems and 
XPath optimization bugs. 
************************************************************************ 
Extracting libxml2-2.8.0.tar.gz into tmp/x86_64-apple-darwin12.5.0/ports/libxml2/2.8.0... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxml2/0001-Fix-parser-local-buffers-size-problems.patch... 
Running 'patch' for libxml2 2.8.0... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxml2/0002-Fix-entities-local-buffers-size-problems.patch... 
Running 'patch' for libxml2 2.8.0... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxml2/0003-Fix-an-error-in-previous-commit.patch... 
Running 'patch' for libxml2 2.8.0... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxml2/0004-Fix-potential-out-of-bound-access.patch... 
Running 'patch' for libxml2 2.8.0... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxml2/0005-Detect-excessive-entities-expansion-upon-replacement.patch... 
Running 'patch' for libxml2 2.8.0... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxml2/0006-Do-not-fetch-external-parsed-entities.patch... 
Running 'patch' for libxml2 2.8.0... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxml2/0007-Enforce-XML_PARSER_EOF-state-handling-through-the-pa.patch... 
Running 'patch' for libxml2 2.8.0... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxml2/0008-Improve-handling-of-xmlStopParser.patch... 
Running 'patch' for libxml2 2.8.0... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxml2/0009-Fix-a-couple-of-return-without-value.patch... 
Running 'patch' for libxml2 2.8.0... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxml2/0010-Keep-non-significant-blanks-node-in-HTML-parser.patch... 
Running 'patch' for libxml2 2.8.0... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxml2/0011-Do-not-fetch-external-parameter-entities.patch... 
Running 'patch' for libxml2 2.8.0... OK 
Running 'configure' for libxml2 2.8.0... OK 
Running 'compile' for libxml2 2.8.0... OK 
Running 'install' for libxml2 2.8.0... OK 
Activating libxml2 2.8.0 (from /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/x86_64-apple-darwin12.5.0/libxml2/2.8.0)... 
Building libxslt-1.1.28 for nokogiri with the following patches applied: 
    - 0001-Adding-doc-update-related-to-1.1.28.patch 
    - 0002-Fix-a-couple-of-places-where-f-printf-parameters-wer.patch 
    - 0003-Initialize-pseudo-random-number-generator-with-curre.patch 
    - 0004-EXSLT-function-str-replace-is-broken-as-is.patch 
    - 0006-Fix-str-padding-to-work-with-UTF-8-strings.patch 
    - 0007-Separate-function-for-predicate-matching-in-patterns.patch 
    - 0008-Fix-direct-pattern-matching.patch 
    - 0009-Fix-certain-patterns-with-predicates.patch 
    - 0010-Fix-handling-of-UTF-8-strings-in-EXSLT-crypto-module.patch 
    - 0013-Memory-leak-in-xsltCompileIdKeyPattern-error-path.patch 
    - 0014-Fix-for-bug-436589.patch 
    - 0015-Fix-mkdir-for-mingw.patch 
************************************************************************ 
IMPORTANT! Nokogiri builds and uses a packaged version of libxslt. 

If this is a concern for you and you want to use the system library 
instead, abort this installation process and reinstall nokogiri as 
follows: 

    gem install nokogiri -- --use-system-libraries 

If you are using Bundler, tell it to use the option: 

    bundle config build.nokogiri --use-system-libraries 
    bundle install 
************************************************************************ 
Extracting libxslt-1.1.28.tar.gz into tmp/x86_64-apple-darwin12.5.0/ports/libxslt/1.1.28... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxslt/0001-Adding-doc-update-related-to-1.1.28.patch... 
Running 'patch' for libxslt 1.1.28... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxslt/0002-Fix-a-couple-of-places-where-f-printf-parameters-wer.patch... 
Running 'patch' for libxslt 1.1.28... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxslt/0003-Initialize-pseudo-random-number-generator-with-curre.patch... 
Running 'patch' for libxslt 1.1.28... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxslt/0004-EXSLT-function-str-replace-is-broken-as-is.patch... 
Running 'patch' for libxslt 1.1.28... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxslt/0006-Fix-str-padding-to-work-with-UTF-8-strings.patch... 
Running 'patch' for libxslt 1.1.28... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxslt/0007-Separate-function-for-predicate-matching-in-patterns.patch... 
Running 'patch' for libxslt 1.1.28... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxslt/0008-Fix-direct-pattern-matching.patch... 
Running 'patch' for libxslt 1.1.28... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxslt/0009-Fix-certain-patterns-with-predicates.patch... 
Running 'patch' for libxslt 1.1.28... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxslt/0010-Fix-handling-of-UTF-8-strings-in-EXSLT-crypto-module.patch... 
Running 'patch' for libxslt 1.1.28... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxslt/0013-Memory-leak-in-xsltCompileIdKeyPattern-error-path.patch... 
Running 'patch' for libxslt 1.1.28... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxslt/0014-Fix-for-bug-436589.patch... 
Running 'patch' for libxslt 1.1.28... OK 
Running git apply with /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/patches/libxslt/0015-Fix-mkdir-for-mingw.patch... 
Running 'patch' for libxslt 1.1.28... OK 
Running 'configure' for libxslt 1.1.28... OK 
Running 'compile' for libxslt 1.1.28... OK 
Running 'install' for libxslt 1.1.28... OK 
Activating libxslt 1.1.28 (from /Users/jason/.vagrant.d/gems/gems/nokogiri-1.6.2/ports/x86_64-apple-darwin12.5.0/libxslt/1.1.28)... 
checking for main() in -llzma... yes 
checking for linker flags for static linking... NONE 
checking for xmlParseDoc() in libxml/parser.h... no 
checking for xmlParseDoc() in -lxml2... no 
checking for xmlParseDoc() in -llibxml2... no 
----- 
libxml2 is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies. 
----- 
*** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of necessary 
libraries and/or headers. Check the mkmf.log file for more details. You may 
need configuration options. 

Provided configuration options: 
    --with-opt-dir 
    --with-opt-include 
    --without-opt-include=${opt-dir}/include 
    --with-opt-lib 
    --without-opt-lib=${opt-dir}/lib 
    --with-make-prog 
    --without-make-prog 
    --srcdir=. 
    --curdir 
    --ruby=/Applications/Vagrant/embedded/bin/ruby 
    --help 
    --clean 
    --use-system-libraries 
    --enable-static 
    --disable-static 
    --with-zlib-dir 
    --without-zlib-dir 
    --with-zlib-include 
    --without-zlib-include=${zlib-dir}/include 
    --with-zlib-lib 
    --without-zlib-lib=${zlib-dir}/lib 
    --enable-cross-build 
    --disable-cross-build 
    --with-xml2lib 
    --without-xml2lib 
    --with-libxml2lib 
    --without-libxml2lib 
+0

我遇到了同樣的問題,我猜測它與流浪者的錯誤。我只是降級到1.5.4。 – levy

+1

我相信Vagrant也會附帶自己的紅寶石。通過自制軟件安裝任何東西都不會做任何事情,因爲流浪者甚至不會嘗試使用它。 – levy

+0

這裏同樣的問題。這肯定與1.6有關。 –

回答

8

我發現我需要明確地告訴引入nokogiri使用某些庫。這對我來說並不明顯,因爲Vagrant使用嵌入式版本的Ruby,而不是與通過brew或操作系統本身安裝的內容有任何關係。

NOKOGIRI_USE_SYSTEM_LIBRARIES=1 vagrant plugin install vagrant-windows

編輯:另外剛纔看到此相同的答案,從今天早些時候在基於引入nokogiri插件與流浪的方面,而不僅僅是無業遊民窗口:https://stackoverflow.com/a/23635023/2619

+0

這個伎倆! –

0

我有同樣的問題,但與vagrant-aws插件在小牛...

NOKOGIRI_USE_SYSTEM_LIBRARIES = 1 vagrant插件安裝vagrant-aws做的伎倆。

2

按照@ flurdy的建議,升級到最新的Vagrant,在我的情況下是1.6.5,在嘗試一切互聯網必須拋出這個問題的日子之後解決了這個問題。

+0

這對我有用。就我而言,我已經在10.9.5上安裝了1.6.3 – acorncom