5

为了在我的 mac 上为 rails 项目安装 mysql,我遵循了安装自制软件和删除 mac 端口的在线建议。这就是问题开始的地方。rails 项目不会建立,我得到了这个:

[rake --prereqs] rake 中止!

dlopen(/Users/Parker/.rvm/gems/ruby-1.9.3-p448/gems/nokogiri-1.6.0/lib/nokogiri/nokogiri.bundle,9):

未加载库:/opt/local/lib/libiconv.2.dylib

引用自:/Users/Parker/.rvm/gems/ruby-1.9.3-p448/gems/nokogiri-1.6.0/lib/nokogiri/nokogiri.bundle

原因:库版本不兼容:nokogiri.bundle 需要 8.0.0 或更高版本,但 libiconv.2.dylib 提供 7.0.0 版本

/Users/Parker/.rvm/gems/ruby-1.9.3-p448/gems/nokogiri-1.6.0/lib/nokogiri/nokogiri.bundle /Users/Parker/.rvm/gems/ruby-1.9.3-p448 /gems/activesupport-3.2.14/lib/active_support/dependencies.rb:251:in `require'

...

我试过跑步的建议

酿造安装 libiconv

我收到的消息:

错误:没有可用的 libiconv 公式 Apple 在 OS X 中分发 libiconv,您可以在 /usr/lib 中找到它。某些构建脚本无法正确检测到它,请检查现有公式以获取解决方案。

我也试过

gem install nokogiri -- --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-xml2-dir=/usr/local/Cellar/libxml2/2.9.1

我收到:

错误:安装 nokogiri 时出错:

错误:无法构建 gem 原生扩展。

/Users/Parker/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-xml2- dir=/usr/local/Cellar/libxml2/2.9.1 将 libxml2-2.8.0.tar.gz 解压到 tmp/x86_64-apple-darwin12.5.0/ports/libxml2/2.8.0... OK

为 libxml2 2.8.0 运行“配置”... OK

为 libxml2 2.8.0 运行“编译”... OK

为 libxml2 2.8.0 运行“安装”... OK

激活 libxml2 2.8.0(来自 /Users/Parker/.rvm/gems/ruby-2.0.0-p247/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin12.5.0/libxml2/2.8.0)。 ..

将 libxslt-1.1.26.tar.gz 解压到 tmp/x86_64-apple-darwin12.5.0/ports/libxslt/1.1.26... OK

为 libxslt 1.1.26 运行“配置”... OK

为 libxslt 1.1.26 运行“编译”... OK

为 libxslt 1.1.26 运行“安装”... OK

激活 libxslt 1.1.26(来自 /Users/Parker/.rvm/gems/ruby-2.0.0-p247/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin12.5.0/libxslt/1.1.26)。 ..

检查 libxml/parser.h... 否

> ----- libxml2 丢失。请访问http://nokogiri.org/tutorials/installing_nokogiri.html以获取安装依赖项的帮助。-----

*** extconf.rb 失败 *** 由于某种原因无法创建 Makefile,可能缺少必要的库和/或头文件。检查 mkmf.log 文件以获取更多详细信息。您可能需要配置选项。

提供的配置选项: --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/Parker/.rvm/rubies/ruby-2.0。

Gem 文件将继续安装在 /Users/Parker/.rvm/gems/ruby-2.0.0-p247/gems/nokogiri-1.6.0 中以供检查。

结果记录到 /Users/Parker/.rvm/gems/ruby-2.0.0-p247/gems/nokogiri-1.6.0/ext/nokogiri/gem_make.out

我已经努力解决这个问题超过 8 个小时。我已经尝试了每一个链接和每一个谷歌提供给我的建议。我完全被难住了。在我看来,我有点不知所措,并造成了一些环境问题。我意识到可能需要更多信息,但我不知道该提供什么。请让我知道还有哪些其他信息可以帮助诊断问题。

4

1 回答 1

11

我终于找到了解决我的问题的建议组合:

http://www.rqna.net/qna/swryr-bundle-install-stopped-at-nokogiri.html

brew tap homebrew/dupes

然后:

酿造安装 libiconv

酿造链接--force libiconv

显然,“brew tap homebrew/dupes”允许我使用“brew install libiconv”而没有错误,并且从那里“brew link --force libiconv”解决了这个问题。

于 2013-09-25T23:41:00.150 回答