【问题标题】:Problems with libxml2 when installing Ruby on Rails on OSX Mavericks在 OSX Mavericks 上安装 Ruby on Rails 时出现 libxml2 问题
【发布时间】:2015-02-27 13:42:34
【问题描述】:

我在终端中安装 Ruby on Rails 时遇到问题。

有没有其他人在终端遇到如下错误:

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.

我使用的是标准 bash:

$ gem install rails

我将如何解决这个问题?我在堆栈交换上尝试了一些东西,但到目前为止没有任何效果......

在终端中使用$ brew list 会产生:

Michaels-iMac:~ iMacHome$ brew list
autoconf    libksba     libxslt     pkg-config
automake    libtool     libyaml     readline
libgpg-error    libxml2     openssl
Michaels-iMac:~ iMacHome$

好像有……

【问题讨论】:

  • 尝试使用 Homebrew 安装libxml2
  • 我已经做到了。还是有问题。
  • 你用的是系统ruby还是RVM,rbenv ruby​​ manager?
  • 你能显示使用 brew installed 安装的库吗?可以交叉检查,看看有什么遗漏。因为它对我有用,我没有安装 libxml。
  • @maxd 我正在使用 RVM....我想。

标签: ruby-on-rails osx-mavericks libxml2


【解决方案1】:

假设你已经安装了 Xcode 试试这个

gem install rails -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.‌platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 --use-system-libraries

【讨论】:

  • 他在使用RVM,最好使用RVM的包系统来获取libxml2库,因为已知在RVM安装中可以正常工作。
  • 这有效,它可能是一个 rvm 解决方法,但它似乎有效。
  • 您也应该尝试 NekoNova 的答案,因为它不是“rvm 方式”,您必须使用所有新 gemset 运行此有线参数
【解决方案2】:

问题可能出在您的 RVM 上。

试试这个命令:

 rvm cleanup all
 rvm pkg uninstall libxml2
 rvm reinstall all --force

或升级/重新安装到最新的 RVM 安装。

-- 为 Ruby 版本正确地全局安装 rails gem:

rvm use <rubyversion>
gem install rails

在 ruby​​ 2.1.5 上使用 rails 的示例:

rvm use 2.1.5
gem install rails

【讨论】:

  • 附带问题:我应该使用“$ dvm gem install rails”...?
  • rvm pkg 现在已弃用,取而代之的是 rvm autolibs