1

当我运行bundle install它时停止:

Installing nokogiri (1.4.3.1) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.  

我尝试使用“ Installing Nokogiri ”手动安装它,但这确实对我有利。

我需要改变什么吗?

/usr/bin/ruby1.9.1 extconf.rb'   
extconf.rb:10: Use RbConfig instead of obsolete and deprecated Config.  
checking for libxml/parser.h... yes  
checking for libxslt/xslt.h... yes  
checking for libexslt/exslt.h... yes  
checking for xmlParseDoc() in -lxml2... yes  
checking for xsltParseStylesheetDoc() in -lxslt... yes  
checking for exsltFuncRegister() in -lexslt... yes  
checking for xmlFirstElementChild()... yes  
checking for xmlRelaxNGSetParserStructuredErrors()... yes  
checking for xmlRelaxNGSetParserStructuredErrors()... yes  
checking for xmlRelaxNGSetValidStructuredErrors()... yes  
checking for xmlSchemaSetValidStructuredErrors()... yes  
checking for xmlSchemaSetParserStructuredErrors()... yes  
creating Makefile  

或这个:

make  
compiling xml_dtd.c  
compiling xml_entity_reference.c  
compiling xml_sax_parser_context.c  
compiling xml_attribute_decl.c  
compiling xml_schema.c  
compiling xml_processing_instruction.c  
compiling xml_cdata.c  
compiling xml_xpath_context.c  
xml_xpath_context.c: In function ‘xpath_generic_exception_handler’:  
xml_xpath_context.c:154:3: error: format not a string literal and no format arguments [-     Werror=format-security]
cc1: some warnings being treated as errors  
make: *** [xml_xpath_context.o] Error 1  

Gem files will remain installed in /home/virinchy/.bundler/tmp/10048/gems/nokogiri-  1.4.3.1 for inspection.  
Results logged to /home/virinchy/.bundler/tmp/10048/gems/nokogiri- 1.4.3.1/ext/nokogiri/gem_make.out
An error occured while installing nokogiri (1.4.3.1), and Bundler cannot continue.  
Make sure that `gem install nokogiri -v '1.4.3.1'` succeeds before bundling.'  
4

1 回答 1

1

首先,Nokogiri 1.4.3.1 已经快三年了。你应该升级。

其次,有关 Debian 如何强化 gcc 编译器的详细信息,请参阅https://github.com/sparklemotion/nokogiri/issues/680。您将需要使用旧版本的 debian 或新版本的 Nokogiri。

于 2013-04-25T23:18:37.643 回答