2016-05-15 138 views
1

又见here无法宝石安装机械化

虽然做gem install mechanize我收到以下错误:

ERROR: Error installing mechanize: 
     nokogiri requires Ruby version < 2.3, >= 1.9.2. 

但是,这粉笔作为了我是一个傻瓜,不知道之前我在做,如果我跑nokogiri -v,我得到这个:

# Nokogiri (1.6.8.rc3) 
    --- 
    warnings: [] 
    nokogiri: 1.6.8.rc3 
    ruby: 
     version: 2.3.0 
     platform: i386-mingw32 
     description: ruby 2.3.0p0 (2015-12-25 revision 53290) [i386-mingw32] 
     engine: ruby 
    libxml: 
     binding: extension 
     source: packaged 
     libxml2_path: "/home/flavorjones/code/oss/nokogiri/ports/i686-w64-mingw32/libxml 
2/2.9.3" 
     libxslt_path: "/home/flavorjones/code/oss/nokogiri/ports/i686-w64-mingw32/libxsl 
t/1.1.28" 
     libxml2_patches: [] 
     libxslt_patches: 
     - 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 
     - 0016-Fix-for-type-confusion-in-preprocessing-attributes.patch 
     - 0017-Updated-config.guess.patch 
     compiled: 2.9.3 
     loaded: 2.9.3 

所以这是显而易见的是,nokogiri安装,因为它花了我约三个小时来安装它。是否有解决办法,以便我可以包含此版本的nokogiri?我运行Windows 7

回答

2

这是针对Windows 7用户运行的Ruby版本:ruby 2.3.3p222 (2016-11-21 revision 56859) [i386-mingw32]或更高的尝试如果您在安装nokogirimechanize这里的问题,安装mechanize gem


你如何成功地做到这一点。

Install nokogiri 's previous version first: gem install nokogiri --pre

输出将是这个样子:

Fetching: nokogiri-1.6.8.rc3-x86-mingw32.gem (100%) 
Nokogiri is built with the packaged libraries: libxml2-2.9.3, libxslt-1.1.28, zlib-1.2 
.8, libiconv-1.14. 
Successfully installed nokogiri-1.6.8.rc3-x86-mingw32 
Parsing documentation for nokogiri-1.6.8.rc3-x86-mingw32 
Installing ri documentation for nokogiri-1.6.8.rc3-x86-mingw32 
Done installing documentation for nokogiri after 12 seconds 
1 gem installed 

After you have it successfully installed, install nokogiri version 1.6: gem install nokogiri -v 1.6

输出将是这样的:

Fetching: mini_portile-0.5.3.gem (100%) 
Successfully installed mini_portile-0.5.3 
Fetching: nokogiri-1.6.0-x86-mingw32.gem (100%) 
Successfully installed nokogiri-1.6.0-x86-mingw32 
Parsing documentation for mini_portile-0.5.3 
Installing ri documentation for mini_portile-0.5.3 
Parsing documentation for nokogiri-1.6.0-x86-mingw32 
Installing ri documentation for nokogiri-1.6.0-x86-mingw32 
Done installing documentation for mini_portile, nokogiri after 9 seconds 
2 gems installed 

And finally go ahead and install mechanize , IT WILL WORK! gem install mechanize

最后,您将安装mechanize

Fetching: mechanize-2.7.4.gem (100%) 
Successfully installed mechanize-2.7.4 
Parsing documentation for mechanize-2.7.4 
Installing ri documentation for mechanize-2.7.4 
Done installing documentation for mechanize after 9 seconds 
1 gem installed 

  • 您可以绕过第一部分,gem install nokogiri --pre它不会让我继续,直到nokogiri一个版本已经安装了,但我不知道这是否只是我的系统。

  • 这是我为了发现安装mechanizenokogiri,如果遇到问题,请让我知道的唯一的解决方法,这样我就可以找到问题的进一步的方案。