尝试使用brew而不是ports在Snow Leopard上安装ruby-filemagic

9

我试图安装ruby-filemagic。

我尝试过sudo gem install ruby-filemagic -v 0.2.2,但是出现了以下情况:

ERROR:  Error installing ruby-filemagic:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
checking for magic_open() in -lmagic... 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
 --without-opt-dir
 --with-opt-include
...

根据这篇文章:http://blog.elctech.com/2009/08/31/installing-ruby-filemagic-on-macos-x-and-ubuntu/ 我需要opt-dir设置。Opt是为Mac端口设置的,对吗?而我正在使用homebrew。
有没有建议从这里继续进行?
直接从gem安装仍然无法正常工作,但以下命令可以: sudo env ARCHFLAGS="-arch x86_64" gem install ruby-filemagic -- --with-magic-include=/usr/local/include --with-magic-lib=/usr/local/lib/
3个回答

23

你不必自己制定公式,它已经在libmagic中了。

brew install libmagic
brew link libmagic

然后,由于某种原因 gem install 没有起作用,但是克隆该库并运行

ruby extconf
make
make install

工作正常。祝你一路顺风!


2
安装libmagic和链接libmagic非常顺利,但是Ruby的extconf仍然出现问题。检查是否存在-mmagic中的magic_open()...没有。这可能是因为ruby-filemagic不知道该去哪里寻找。我该如何告诉它呢? - user285429
如果您使用rvm,则在运行“brew link libmagic”之后不需要运行“make && make install”。 - Fa11enAngel

7

这对我在10.9上有效:通过homebrew在Mac OS X上安装libmagic

简而言之:

brew install libmagic
brew link libmagic 
# If the link is already created is going to fail, dont worry about that
env ARCHFLAGS="-arch x86_64" gem install ruby-filemagic -- --with-magic-include=/usr/local/include --with-magic-lib=/usr/local/lib/

0

是的,该教程中的命令在某种程度上是特定于MacPorts的。该指南建议通过MacPorts首先安装必要的库文件,然后安装使用该库文件的gem。乍一看,您没有这个库,因此无法为gem构建扩展。同样快速浏览,Homebrew似乎没有该库可供安装 - 虽然我不确定这一点。

跟进:从同一博客中,这里是他的建议如何使用Homebrew完成它。简而言之,您需要创建自己所需的库的安装程序,然后您应该可以正常使用。顺便提一下,他建议使用sudo,但如果您以正常方式使用Homebrew,则可能不需要或不想要它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接