【问题标题】:Bundle install fails to install libxml-ruby捆绑安装无法安装 libxml-ruby
【发布时间】:2018-11-09 09:03:30
【问题描述】:

我是 Ruby 世界的新手,我需要克隆一个现有项目。

说明如下:

source .env.development
bundle install

但它失败了:

Using libv8 3.16.14.15
Fetching libxml-ruby 2.9.0
Installing libxml-ruby 2.9.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory: /Users/vlad/.rvm/gems/ruby-2.3.1/gems/libxml-ruby-2.9.0/ext/libxml
/Users/vlad/.rvm/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20181109-46682-fvgifh.rb extconf.rb --use-system-libraries
checking for libxml/xmlversion.h in /opt/include/libxml2,/opt/local/include/libxml2,/usr/local/include/libxml2,/usr/include/libxml2... no
*** 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=/Users/vlad/.rvm/rubies/ruby-2.3.1/bin/$(RUBY_BASE_NAME)
--with-xml2-config
--without-xml2-config
--with-xml2-dir
--without-xml2-dir
--with-xml2-include
--without-xml2-include=${xml2-dir}/include
--with-xml2-lib
--without-xml2-lib=${xml2-dir}/lib
 extconf failure: need libxml2.

    Install the library or try one of the following options to extconf.rb:

      --with-xml2-config=/path/to/xml2-config
      --with-xml2-dir=/path/to/libxml2
      --with-xml2-lib=/path/to/libxml2/lib
      --with-xml2-include=/path/to/libxml2/include


To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /Users/vlad/.rvm/gems/ruby-2.3.1/extensions/x86_64-darwin-18/2.3.0/libxml-ruby-2.9.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Users/vlad/.rvm/gems/ruby-2.3.1/gems/libxml-ruby-2.9.0 for inspection.
Results logged to /Users/vlad/.rvm/gems/ruby-2.3.1/extensions/x86_64-darwin-18/2.3.0/libxml-ruby-2.9.0/gem_make.out

An error occurred while installing libxml-ruby (2.9.0), and Bundler cannot continue.
Make sure that `gem install libxml-ruby -v '2.9.0'` succeeds before bundling.

In Gemfile:
  upnxt_community_lib_common was resolved to 1.7.49, which depends on
    upnxt_processing_lib_document was resolved to 2.0.0, which depends on
      libxml-

如果我想执行建议的命令“gem install libxml-ruby -v '2.9.0'”,我会得到同样的错误。

操作系统:MacOS Mojave,版本 10.14。 项目所需的 Ruby 版本:ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin18]

我也尝试了this,但没有帮助。

提前感谢您的帮助!

【问题讨论】:

  • brew install libxml2?
  • 如果仍然失败,brew link --force libxml2?
  • @TomLord,我试过了,没用
  • @NicuVlad 它仍然说 “需要 libxml2”
  • @NicuVlad 当我们从建议中听到的只是“没有帮助”或“没有用”时,很难诊断问题。错误消息是否保持不变,还是发生了变化?如果错误发生了变化,那么我们可能已经取得了一些进展,现在需要解决一个不同的问题。

标签: ruby rubygems bundler


【解决方案1】:

这些步骤对我有用 (source)

brew install libxml2
bundle config --global build.libxml-ruby --with-xml2-config="$(brew --prefix libxml2)/bin/xml2-config"

然后bundle install 按预期工作

【讨论】:

  • 是的。在 macOS Catalina 上为我工作。
【解决方案2】:

我在同事的帮助下设法解决了这个问题,如果其他人遇到这个问题:

gem install libxml-ruby -v '2.9.0' -- --use-system-libraries --with-xml2-dir=/usr/local/Cellar/libxml2/2.9.8/include/libxml2/libxml/ --with-xml2-config=/usr/bin/xml2-config

将“2.9.0”替换为您需要的 libxml 版本!

【讨论】:

  • 这不应该是答案,因为如果你再次运行 Bundler,错误是一样的。
【解决方案3】:

它通过运行在 mac 中为我解决了

gem install libxml-ruby -v '3.0.0' -- --with-xml2-config=/usr/local/opt/libxml2/bin/xml2-config --with-xml2-dir=/usr/ local/opt/libxml2 --with-xml2-lib=/usr/local/opt/libxml2/lib --with-xml2-include=/usr/local/opt/libxml2/include

【讨论】:

  • 我使用这个命令添加到更新到 3.0.0 以使其真正工作。非常感谢
【解决方案4】:

今天刚刚发生。

$ brew link --force libxml2
Warning: Refusing to link macOS-provided software: libxml2
...

起初,我不知道有警告并且它不再起作用了。 然后找到了这个workaround,它对我有用。

bundle config build.libxml-ruby --use-system-libraries=true --with-xml2-include=/usr/local/opt/libxml2/include/libxml2/

【讨论】:

  • 对于 Mojave,我需要移除 --use-system-libraries=true 开关。
猜你喜欢
  • 1970-01-01
  • 2022-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-29
相关资源
最近更新 更多