安装gem时无法找到libxml2

时间:2017-09-16 05:08:26

标签: ruby macos configuration rubygems twilio

安装twilio-ruby的问题。我已经使用自制软件安装了libxml2并确认它在那里。但是,当我尝试运行时

gem install twilio-ruby

我收到一条错误,它无法找到libxml2。我已经尝试指定libxml2的路径,但仍然无法安装它。有什么建议吗?

我试过以下

 gem install twilio-ruby -- --with-xml2-dir=/usr/local/Cellar/libxml2

gem install twilio-ruby -- --use-system-libraries

然后将这三者结合在一起:

gem install twilio-ruby -- --with-xml2-dir=/usr/local/Cellar/libxml2/2.9.1 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include

每次我得到类似下面的输出。

gem install twilio-ruby -- --with-xml2-dir=/usr/local/Cellar/libxml2
Building native extensions with: '--with-xml2-dir=/usr/local/Cellar/libxml2'
This could take a while...
ERROR:  Error installing twilio-ruby:
    ERROR: Failed to build gem native extension.

    /Users/tom/.rvm/rubies/ruby-2.1.1/bin/ruby extconf.rb --with-xml2-dir=/usr/local/Cellar/libxml2
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
    --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=/Users/tom/.rvm/rubies/ruby-2.1.1/bin/ruby
    --with-xml2-config
    --without-xml2-config
    --with-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


extconf failed, exit code 1

Gem files will remain installed in /Users/tom/.rvm/gems/ruby-2.1.1@carecoach/gems/libxml-ruby-3.0.0 for inspection.
Results logged to /Users/tom/.rvm/gems/ruby-2.1.1@carecoach/extensions/x86_64-darwin-12/2.1.0-static/libxml-ruby-3.0.0/gem_make.out
'

1 个答案:

答案 0 :(得分:2)

因此,经过多次痛苦和挫折,并尝试了一堆东西,解决方案如下:

   gem update --system
   xcode-select --install # Then agree to the terms, even if you have done this before!