错误 – “gem install rails” – 缺少libxml2

我一直在处理Rails安装说明( http://railsapps.github.io/installrubyonrails-mac.html ),一切顺利,直到我在New Rails Application下进入gem install rails部分。 当我跑的时候,我得到了libxml2。 这是日志: http : //codecascade.com/sIjhQ/raw

我有类似的问题安装nokogiri,我能够解决它的唯一方法是

 gem install nokogiri -- --use-system-libraries 

我在OS X 10.10.2上。 我也安装了RubyMine,如果它可能相关的话。

我刚遇到同样的问题,并能够解决如下问题:

单独安装Nokogiri只在使用系统库时才有效:

 gem install nokogiri -- --use-system-libraries 

…但在执行bundle install时仍然失败。 因此,只需配置bundler以使用系统库构建Nokogiri:

 bundle config build.nokogiri --use-system-libraries 

您没有所需的库,谷歌解决方案很容易:

  brew install libxml2 

试试这个:

 sudo gem install rails -- --use-system-libraries --with-xml=/usr/local/Cellar/libxml2/ 

我有同样的问题,在Debian上似乎只是缺少’dev’库的问题,可能需要在安装期间编译源代码(我猜)。 我通过安装(通过apt-get或aptitude)以下包解决了这个问题:

  • 的libxml2-dev的
  • Libxslt1-dev的

由于某种原因,libxml2的nokogiri构建过程将错误地放置构建版本。

而不是lib/它将去lib64/ 。 Nokogiri然后会在错误的目录中查找它。

更多信息: https : //github.com/sparklemotion/nokogiri/issues/1334

Simar提到,它对我有用。

 sudo gem install rails -- --use-system-libraries --with-xml=/usr/local/Cellar/libxml2/ 

如果您遇到麻烦,请在Mac上安装,请点击此处。 https://gorails.com/setup/osx/10.11-el-capitan

此外,如果你找不到/ usr / local / Cellar / libxml2 / existing,你可能需要自制它。

 brew install libxml2 

如果你像我一样在新安装的OS X EL CAPITAN上安装它,你可能会发现homebrew告诉你已经安装了libxml2而brew不会用新安装的libxml2替换它现在的/ usr / local / Cellar / libxml2 /,这是我们真正应该将库链接到的那个。 由于系统默认libxml2无法成功链接。

这对我有用 ( 基于这个Github线程 ):

 gem install nokogiri -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib/ 

作为一个说明,我的问题是:

 ... checking for main() in -llzma... yes checking for xmlParseDoc() in libxml/parser.h... no checking for xmlParseDoc() in -lxml2... no checking for xmlParseDoc() in -llibxml2... no ----- libxml2 is missing. Please locate mkmf.log to investigate how it is failing. ----- *** 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/seanshadmand/.rvm/rubies/ruby-2.1.1/bin/ruby --help --clean --use-system-libraries --enable-static --disable-static --with-zlib-dir --without-zlib-dir --with-zlib-include --without-zlib-include=${zlib-dir}/include --with-zlib-lib --without-zlib-lib=${zlib-dir}/lib --enable-cross-build --disable-cross-build --with-xml2lib --without-xml2lib --with-libxml2lib --without-libxml2lib To see why this extension failed to ... extconf failed, exit code 1 

我尝试时遇到了同样的问题:

 gem install libxml-ruby -v '3.0.0 

运行以下解决了Mac上的问题:

 gem update --system xcode-select --install gem install nokogiri 

有关详细信息,请参阅安装nokogiri