0

我正在尝试安装

gem install ruby-filemagic

checking for magic_open() in -lmagic... no                                         
*** ERROR: missing required library to compile this module                         
*** 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.   

如何在 Windows 7 上修复此错误?

4

2 回答 2

1
checking for magic_open() in -lmagic... no                 
*** ERROR: missing required library to compile this module  

首先它检查库中是否magic_open存在magic函数,但它没有找到它,这表明你缺少魔法库。

libmagic不是 Windows 的一部分,因此您需要自己获取或编译它。

您可以使用使用 RubyInstaller 的互补 DevKit 来编译 C 项目,但您需要熟悉 libmagic 和 GCC。

于 2012-09-25T15:42:09.323 回答
0

对于 Ruby 1.9.3

ftp://ftp.astron.com/pub/file/下载file-5.21.tar.gz并解压到一个目录。

sourceforge下载 libgnurx 2.5.1 bin + dev并将两者解压缩到另一个目录。

运行 DevKit msys shell

 c:\path\to\devkit-4.5.2\msys.bat -mintty

file从您将其解压缩到的目录构建。

 cd /the/path/to/extracted/file-5.21
 LDFLAGS=-L/the/path/to/libgnurx-2.5.1/lib
 CFLAGS=-I/the/path/to/libgnurx-2.5.1/include
 ./configure --prefix=/a/path/for/file-2.21
 make install

从 DevKit msys shell 内部

 gem install ruby-filemagic -- --with-magic-dir=/a/path/for/file-2.21
于 2014-12-14T17:27:39.277 回答