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

我正在尝试安装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 – 与魔法-LIB =在/ usr / local / lib目录/

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

 brew install libmagic brew link libmagic 

然后,无论出于什么原因,gem安装都不起作用,但克隆了lib并运行

 ruby extconf make make install 

工作。 一帆风顺!

这对我来说是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/ 

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

后续行动:在同一个博客中, 这是他对如何使用Homebrew进行操作的建议 。 简而言之,您需要创建自己需要的库安装,然后您应该没问题。 顺便说一句,他建议sudo ,但你可能不需要或想要使用Homebrew(如果你以正常的方式使用Homebrew)。