2017-08-29 73 views
5

在尝试在普通脚本和rails应用程序中安装斜纹宝石宝石数小时后,我已经找到了专业人士。不能安装Twilio gem - libxml问题

我得到的错误是“在Gemfile中: twilio,红宝石被解析为5.2.0,这取决于 的libxml-红宝石 ”

我尝试安装的libxml的宝石到我的宝石文件和错误“Gem :: Ext :: BuildError:错误:无法构建gem本机扩展”。然后在底部说:“安装libxml-ruby(3.0.0)时发生错误,并且Bundler无法继续。 请确保gem install libxml-ruby -v '3.0.0'在绑定之前成功。”

我使用的rails版本是4.2.4,我的操作系统是MACOS Sierra。下面是我尝试用twilio gem捆绑安装时的整个输出。我读了几篇关于Stack的文章,但目前为止没有任何帮助:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 

    current directory: /Users/jameshart/.rvm/gems/ruby-2.3.0/gems/libxml-ruby-3.0.0/ext/libxml 
/Users/jameshart/.rvm/rubies/ruby-2.3.0/bin/ruby -r ./siteconf20170829-79771-thonjl.rb extconf.rb 
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/jameshart/.rvm/rubies/ruby-2.3.0/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/jameshart/.rvm/gems/ruby-2.3.0/extensions/x86_64-darwin-16/2.3.0/libxml-ruby-3.0.0/mkmf.log 

extconf failed, exit code 1 

Gem files will remain installed in /Users/jameshart/.rvm/gems/ruby-2.3.0/gems/libxml-ruby-3.0.0 for inspection. 
Results logged to /Users/jameshart/.rvm/gems/ruby-2.3.0/extensions/x86_64-darwin-16/2.3.0/libxml-ruby-3.0.0/gem_make.out 

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

In Gemfile: 
    twilio-ruby was resolved to 5.2.0, which depends on 
    libxml-ruby 
+0

我有Mac系统Sierra和之前没有安装Twilio宝石。我做了'gem list',可以看到我安装了'libxml-ruby(2.6.0)'。我运行'sudo gem install twilio-ruby',它安装了Twilio 5.2.0 gem ok。我的主文件夹中没有'.rvm'目录。我想知道你是否可以尝试删除该版本并回到“本地”版本?对不起,这不是太大的帮助! – Andy

+0

我最终安装了4.11版本,一切都很简单。谢谢。你是男人 –

+0

[libxml-ruby:无法构建gem原生扩展名](https://stackoverflow.com/questions/38129330/libxml-ruby-failed-to-build-gem-native-extension) – philnash

回答

1

我找到了一个解决方案! (在Debian 9运行)

sudo apt-get install -y libxml2-dev 

gem install libxml-ruby -v '3.0.0' 

bundle install 

好像用的libxml-红宝石尝试使用libxml2的问题