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 设置。选择适用于mac端口吗?我正在使用自制软件。

关于从这里去哪里的任何建议都会很棒。

直接从 gem 安装仍然对我不起作用,但以下命令可以: sudo env ARCHFLAGS="-arch x86_64" gem install ruby​​-filemagic -- --with-magic-include=/usr/local/include -- with-magic-lib=/usr/local/lib/

4

3 回答 3

22

您不必制作自己的公式,它在 libmagic 中。

brew install libmagic
brew link libmagic

然后,无论出于何种原因,gem install 都无法正常工作,而是克隆了 lib 并运行

ruby extconf
make
make install

工作。神速!

于 2010-07-22T17:14:08.667 回答
7

这在 10.9 上对我有用:通过自制软件在 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/
于 2014-10-17T11:59:14.563 回答
0

是的,该教程中的命令(在某些方面)特定于 MacPorts。该指南建议首先通过 MacPorts 安装必要的库,然后安装使用该库的 gem。乍一看,您没有库,因此无法为 gem 构建扩展。同样快速浏览一下,Homebrew 似乎没有可供安装的库——尽管我不能 100% 确定这一点。

跟进:来自同一个博客,这是他对如何使用 Homebrew 进行操作的建议。简而言之,您需要创建自己的所需库的安装,然后就可以了。顺便说一句,他建议sudo,但您可能不需要或不希望使用 Homebrew(如果您以正常方式使用 Homebrew)。

于 2010-07-07T00:15:37.140 回答