【问题标题】:Trouble with initial rails gem install on OSX 10.9 MavericksOSX 10.9 Mavericks 上的初始 rails gem 安装问题
【发布时间】:2016-01-24 18:41:17
【问题描述】:

匆匆忙忙之后,我安装了 rbenv 和 ruby​​。当我尝试安装 rails 时,我在这里失败了:

$ gem install rails -v 4.2.3

[....]

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.

[....]

我使用 macports 进行包管理,似乎 libxml2 存在(正如我所期望的那样):

$ port list *libxml*
libxml                         @1.8.17         textproc/libxml
libxml2                        @2.9.2          textproc/libxml2
libxmldiff                     @0.2.5          textproc/libxmldiff
libxmlxx                       @1.0.5          textproc/libxmlxx
libxmlxx2                      @2.38.1         textproc/libxmlxx2
p5-libxml-enno                 @1.20.0         perl/p5-libxml-enno
p5-libxml-perl                 @0.80.0         perl/p5-libxml-perl
p5-xml-libxml                  @2.12.300       perl/p5-xml-libxml
p5-xml-libxml-simple           @0.950.0        perl/p5-xml-libxml-simple
p5-xml-rss-libxml              @0.310.500      perl/p5-xml-rss-libxml
p5.16-libxml-enno              @1.20.0         perl/p5-graveyard
p5.16-libxml-perl              @0.80.0         perl/p5-graveyard
p5.16-xml-libxml               @2.12.300       perl/p5-graveyard
p5.16-xml-libxml-simple        @0.950.0        perl/p5-graveyard
p5.16-xml-rss-libxml           @0.310.500      perl/p5-graveyard
p5.18-libxml-enno              @1.20.0         perl/p5-graveyard
p5.18-libxml-perl              @0.80.0         perl/p5-graveyard
p5.18-xml-libxml               @2.12.300       perl/p5-graveyard
p5.18-xml-libxml-simple        @0.950.0        perl/p5-graveyard
p5.18-xml-rss-libxml           @0.310.500      perl/p5-graveyard
p5.20-libxml-enno              @1.20.0         perl/p5-graveyard
p5.20-libxml-perl              @0.80.0         perl/p5-graveyard
p5.20-xml-libxml               @2.12.300       perl/p5-graveyard
p5.20-xml-libxml-simple        @0.950.0        perl/p5-graveyard
p5.20-xml-rss-libxml           @0.310.500      perl/p5-graveyard
p5.22-libxml-enno              @1.20.0         perl/p5-libxml-enno
p5.22-libxml-perl              @0.80.0         perl/p5-libxml-perl
p5.22-xml-libxml               @2.12.300       perl/p5-xml-libxml
p5.22-xml-libxml-simple        @0.950.0        perl/p5-xml-libxml-simple
p5.22-xml-rss-libxml           @0.310.500      perl/p5-xml-rss-libxml
py-libxml2                     @2.9.2          python/py-libxml2
py24-libxml2                   @2.9.2          python/py-graveyard
py25-libxml2                   @2.9.2          python/py-graveyard
py26-libxml2                   @2.9.2          python/py-graveyard
py27-libxml2                   @2.9.2          python/py-libxml2
py34-libxml2                   @2.9.2          python/py-libxml2
py35-libxml2                   @2.9.2          python/py-libxml2
rb-libxml2                     @2.3.4          ruby/rb-libxml2

【问题讨论】:

  • 尝试安装为:gem install rails -v 4.2.3 -- --use-system-libraries
  • 谢谢!这完全是解决方案。如果你把它作为一个答案,我会选择它。

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


【解决方案1】:

尝试将其安装为:

gem install rails -v 4.2.3 -- --use-system-libraries

【讨论】:

    【解决方案2】:

    当你输入 which libxml2 时它应该返回二进制文件的路径。

    如果它没有在您的~/.bash_profile 中更新您的$PATH。一个快速的命令是:

    echo 'export PATH="/opt/local/bin:/opt/local/sbin:$PATH"' >> ~/.bash_profile
    

    后跟一个:

    source ~/.bash_profile
    

    我的建议是让您在 OSX 上切换到 Homebrew 进行包管理,同时切换到 RVM 进行 ruby​​ 管理。

    【讨论】:

    • 这些路径已经包含在我的 $PATH 环境变量中。其他端口工作正常。不过,我将来会研究 Homebrew 和 RVM - 谢谢。
    猜你喜欢
    • 2013-11-05
    • 1970-01-01
    • 2014-04-02
    • 2013-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    相关资源
    最近更新 更多