Ubuntu环境下Bundle Install安装nokogiri 1.6.8.1失败求助
安装nokogiri 1.6.8.1失败(Ruby 2.7.8 + Ubuntu + rbenv)
在Ubuntu系统上用rbenv管理Ruby 2.7.8运行应用,执行bundle install时遇到错误:
安装nokogiri (1.6.8.1)时出错,Bundler无法继续。请确保
gem install nokogiri -v '1.6.8.1' --source 'https://rubygems.org/'执行成功后再进行打包。
尝试过以下所有安装nokogiri的方法,但均失败:
gem install nokogiri -v '1.6.8.1' --source 'https://rubygems.org/'gem install nokogiri -v '1.6.8.1' --source 'https://rubygems.org/' -- --use-system-librariesgem install nokogiri -v '1.6.8.1' -- --use-system-libraries --with-xml2-include=/usr/include/libxml2- 先执行
bundle config build.nokogiri --use-system-libraries再执行bundle install
安装过程中出现的错误(截取部分内容):
ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. current directory: /home/adam/.rbenv/versions/2.7.8/lib/ruby/gems/2.7.0/gems/nokogiri-1.6.8.1/ext/nokogiri /home/adam/.rbenv/versions/2.7.8/bin/ruby -I /home/adam/.rbenv/versions/2.7.8/lib/ruby/2.7.0 -r ./siteconf20240116-50988-10fdguc.rb extconf.rb --use-system-libraries --with-xml2-include\=/usr/include/libxml2 checking if the C compiler accepts ... yes Building nokogiri using system libraries. checking for xmlParseDoc() in libxml/parser.h... yes checking for xsltParseStylesheetDoc() in libxslt/xslt.h... yes checking for exsltFuncRegister() in libexslt/exslt.h... yes checking for xmlHasFeature()... 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 current directory: /home/adam/.rbenv/versions/2.7.8/lib/ruby/gems/2.7.0/gems/nokogiri-1.6.8.1/ext/nokogiri make "DESTDIR=" clean current directory: /home/adam/.rbenv/versions/2.7.8/lib/ruby/gems/2.7.0/gems/nokogiri-1.6.8.1/ext/nokogiri make "DESTDIR=" compiling html_document.c In file included from /home/adam/.rbenv/versions/2.7.8/include/ruby-2.7.0/ruby.h:33:0, from ./nokogiri.h:33, from ./html_document.h:4, from html_document.c:1: /home/adam/.rbenv/versions/2.7.8/include/ruby-2.7.0/ruby/ruby.h: In function ‘rb_scan_args_set’: /home/adam/.rbenv/versions/2.7.8/include/ruby-2.7.0/ruby/ruby.h:2594:40: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion] memcpy(ptr, argv, sizeof(VALUE)*argc); ^ /home/adam/.rbenv/versions/2.7.8/include/ruby-2.7.0/ruby/ruby.h:1763:54: note: in definition of macro ‘memcpy’ #define memcpy(p1,p2,n) ruby_nonempty_memcpy(p1, p2, n) ^ In file included from ./html_document.h:4:0, from html_document.c:1: ./nokogiri.h: At top level: ./nokogiri.h:39:0: warning: "MAYBE_UNUSED" redefined # define MAYBE_UNUSED(name) name __attribute__((unused)) In file included from /home/adam/.rbenv/versions/2.7.8/include/ruby-2.7.0/ruby/ruby.h:24:0, from /home/adam/.rbenv/versions/2.7.8/include/ruby-2.7.0/ruby.h:33, from ./nokogiri.h:33, from ./html_document.h:4, from html_document.c:1: /home/adam/.rbenv/versions/2.7.8/include/ruby-2.7.0/x86_64-linux/ruby/config.h:161:0: note: this is the location of the previous definition #define MAYBE_UNUSED(x) __attribute__ ((__unused__)) x In file included from /home/adam/.rbenv/versions/2.7.8/include/ruby-2.7.0/ruby.h:33:0, from ./nokogiri.h:33, from ./html_document.h:4, from html_document.c:1: html_document.c: In function ‘new’: /home/adam/.rbenv/versions/2.7.8/include/ruby-2.7.0/ruby/ruby.h:2510:48: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual] (rb_scan_args_verify(fmt, varc), vars), (char *)fmt, varc) ^ ...... ^ /home/adam/.rbenv/versions/2.7.8/include/ruby-2.7.0/ruby/ruby.h:2342:9: note: in expansion of macro ‘rb_scan_args0’ rb_scan_args0(argc,argvp,fmt,\ ^~~~~~~~~~~~~ xml_document.c:508:3: note: in expansion of macro ‘rb_scan_args’ rb_scan_args(argc, argv, "03", &mode, &incl_ns, &with_comments); ^~~~~~~~~~~~ xml_document.c:535:15: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual] ns[i] = (xmlChar*) ptr; ^ Makefile:245: recipe for target 'xml_document.o' failed make: *** [xml_document.o] Error 1 make failed, exit code 2 Gem files will remain installed in /home/adam/.rbenv/versions/2.7.8/lib/ruby/gems/2.7.0/gems/nokogiri-1.6.8.1 for inspection. Results logged to /home/adam/.rbenv/versions/2.7.8/lib/ruby/gems/2.7.0/extensions/x86_64-linux/2.7.0/nokogiri-1.6.8.1/gem_make.out
已安装libxslt-dev和libxml2-dev,试过网上能找到的所有解决方案都无效,求帮助。
内容的提问来源于stack exchange,提问作者Eaten Taik
相关产品推荐
相关产品推荐

