安装 nokogiri (1.10.10) 时出错,Bundler 无法继续
Posted
技术标签:
【中文标题】安装 nokogiri (1.10.10) 时出错,Bundler 无法继续【英文标题】:An error occurred while installing nokogiri (1.10.10), and Bundler cannot continue 【发布时间】:2021-06-25 11:26:34 【问题描述】: 操作系统:Ubuntu 18.04 红宝石:2.7 导轨:6.*Gem::Ext::BuildError: ERROR: 未能构建 gem 原生扩展。
current directory: /home/.rvm/gems/ruby-2.7.0/gems/nokogiri-1.10.10/ext/nokogiri
/home/.rvm/rubies/ruby-2.7.0/bin/ruby -I /home/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0 -r ./siteconf20210329-30335-1ed7nme.rb extconf.rb --use-system-libraries 检查 C 编译器是否接受 ... *** extconf.rb 失败 *** 由于某种原因无法创建 Makefile, 可能缺少必要的库和/或头文件。检查 mkmf.log 文件以获取更多详细信息。您可能需要配置选项。
提供的配置选项:--with-opt-dir --without-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=/home/.rvm/rubies/ruby-2.7.0/bin/$(RUBY_BASE_NAME) --help --clean /home/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/mkmf.rb:471:in
try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from /home/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/mkmf.rb:597:in
block in try_compile' 来自 /home/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/mkmf.rb:544:inwith_werror' from /home/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/mkmf.rb:597:in
try_compile' 来自 extconf.rb:138:innokogiri_try_compile' from extconf.rb:162:in
block in add_cflags' 来自 /home/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/mkmf.rb:655:inwith_cflags' from extconf.rb:161:in
add_cflags' 来自 extconf.rb:416:in `'要查看此扩展无法编译的原因,请查看 mkmf.log 可以在这里找到:
/home/.rvm/gems/ruby-2.7.0/extensions/x86_64-linux/2.7.0/nokogiri-1.10.10/mkmf.log
extconf 失败,退出代码 1
Gem 文件将继续安装在 /home/.rvm/gems/ruby-2.7.0/gems/nokogiri-1.10.10 进行检查。 结果记录到 /home/.rvm/gems/ruby-2.7.0/extensions/x86_64-linux/2.7.0/nokogiri-1.10.10/gem_make.out
安装 nokogiri (1.10.10) 和 Bundler 时出错 无法继续。在捆绑之前确保
gem install nokogiri -v '1.10.10' --source 'https://rubygems.org/'
成功。
【问题讨论】:
【参考方案1】:首先,检查您的 mkmf.log 文件以了解更多详细信息。
gcc: error: unrecognized command line option '-Wduplicated-cond'
gcc: error: unrecognized command line option '-Wmisleading-indentation'
gcc: error: unrecognized command line option '-Wimplicit-fallthrough=0'
解决方案:brew unlink gcc
$ bundle install (会正常工作)
【讨论】:
以上是关于安装 nokogiri (1.10.10) 时出错,Bundler 无法继续的主要内容,如果未能解决你的问题,请参考以下文章
在 El Capitan 上安装 Nokogiri (1.6.7) 时出错
ruby nokogiri gem install mac osx high sierra
安装 ruby gem nokogiri 时缺少 libxslt
如何在 Mac OS Sierra 10.12 上安装 Nokogiri