Ruby gem安装rmagick在OS X El Capitan上失败

Ruby gem安装rmagick在OS X El Capitan上失败,ruby,macos,imagemagick,Ruby,Macos,Imagemagick,几天前我升级到El Capitan并运行了一个 brew update && brew upgrade 它更新了imagemagick,导致ruby的rmagick gem停止工作 没问题,我想,我就跑 gem install rmagick 它将重新编译 但它没有,当我运行它时,我看到: gem install rmagick Building native extensions. This could take a while... ERROR: Error inst

几天前我升级到El Capitan并运行了一个

brew update && brew upgrade
它更新了imagemagick,导致ruby的rmagick gem停止工作

没问题,我想,我就跑

gem install rmagick
它将重新编译

但它没有,当我运行它时,我看到:

gem install rmagick
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

    /Users/sam/.rbenv/versions/2.2.3/bin/ruby -r ./siteconf20151019-57347-30ju1w.rb extconf.rb
checking for clang... yes
checking for Magick-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... *** 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
    --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/sam/.rbenv/versions/2.2.3/bin/$(RUBY_BASE_NAME)
/Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:587:in `try_cpp'
    from /Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:1060:in `block in have_header'
    from /Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:911:in `block in checking_for'
    from /Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:351:in `block (2 levels) in postpone'
    from /Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:321:in `open'
    from /Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:351:in `block in postpone'
    from /Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:321:in `open'
    from /Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:347:in `postpone'
    from /Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:910:in `checking_for'
    from /Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:1059:in `have_header'
    from extconf.rb:38:in `configure_headers'
    from extconf.rb:18:in `initialize'
    from extconf.rb:517:in `new'
    from extconf.rb:517:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in /Users/sam/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rmagick-2.15.4 for inspection.
Results logged to /Users/sam/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0-static/rmagick-2.15.4/gem_make.out
gem安装rmagick
构建本机扩展。这可能需要一段时间。。。
错误:安装rmagick时出错:
错误:无法生成gem本机扩展。
/Users/sam/.rbenv/versions/2.2.3/bin/ruby-r./siteconf20151019-57347-30ju1w.rb extconf.rb
正在检查叮当声。。。对
正在检查Magick配置。。。对
检查是否存在过时的ImageMagick版本(=1.8.5…是
检查stdint.h...**extconf.rb失败***
由于某些原因无法创建Makefile,可能缺少必要的
库和/或标头。有关详细信息,请查看mkmf.log文件。您可以
需要配置选项。
提供的配置选项:
--使用opt dir
--不带opt dir
--选择包含
--不带opt include=${opt dir}/include
--使用opt lib
--不带opt lib=${opt dir}/lib
--用make prog
--没有make prog
--srcdir=。
--库尔迪尔
--ruby=/Users/sam/.rbenv/versions/2.2.3/bin/$(ruby\u BASE\u NAME)
/Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:456:在“try_do”中:编译器未能生成可执行文件。(运行时错误)
您必须首先安装开发工具。
from/Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:587:in'try_cpp'
from/Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:1060:in'block in have_header'
from/Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:911:in'block in checking_'
from/Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:351:in“延迟中的块(2个级别)”中
from/Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:321:in'open'
from/Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:351:“延迟中的块”中
from/Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:321:in'open'
from/Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:347:in“推迟”
from/Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:910:in“checking_for”
from/Users/sam/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:1059:in'have_header'
来自extconf.rb:38:in'configure_headers'
来自extconf.rb:18:in'initialize'
摘自extconf.rb:517:in'new'
来自extconf.rb:517:in`'
extconf失败,退出代码1
Gem文件仍将安装在/Users/sam/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rmagick-2.15.4中,以供检查。
结果记录到/Users/sam/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0-static/rmagick-2.15.4/gem_make.out
以下是mkmf.log的内容

find_executable: checking for clang... -------------------- yes

--------------------

find_executable: checking for Magick-config... -------------------- yes

--------------------

configure_compile_options: checking for outdated ImageMagick version (<= 6.4.9)... -------------------- no

Detected ImageMagick version: 6.9.2
--------------------

assert_minimum_ruby_version!: checking for Ruby version >= 1.8.5... -------------------- yes

--------------------

"clang -o conftest -I/Users/sam/.rbenv/versions/2.2.3/include/ruby-2.2.0/x86_64-darwin14 -I/Users/sam/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/sam/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I.  -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16   -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16  conftest.c  -L. -L/Users/sam/.rbenv/versions/2.2.3/lib  -L/usr/local/Cellar/imagemagick/6.9.2-4/lib -lMagickCore-6.Q16     -L/usr/local/Cellar/imagemagick/6.9.2-4/lib -lMagickCore-6.Q16   -lruby-static -framework CoreFoundation  -lpthread -lgmp -ldl -lobjc "
ld: library not found for -lgmp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */
find_可执行文件:检查是否有叮当声…--------------是
--------------------
查找\u可执行文件:正在检查Magick配置…--------------是
--------------------
配置编译选项:检查过时的ImageMagick版本(=1.8.5…-------------------是
--------------------
“clang-o conftest-I/Users/sam/.rbenv/versions/2.2.3/include/ruby-2.2.0/x86_64-darwin14-I/Users/sam/.rbenv/versions/2.2.3/include/ruby-2.2.0/sam/.rbenv/versions/2.2.3/include/ruby-2.2.0-I.-DMAGICKCORE\u HDRI\u ENABLE=0-DMAGICKCORE\u量子深度=16-DMAGICKCORE\u启用深度=16。-L/Users/sam/.rbenv/versions/2.2.3/lib-L/usr/local/cillar/imagemagick/6.9.2-4/lib-lMagickCore-6.Q16-L/usr/local/cillar/imagemagick/6.9.2-4/lib-lMagickCore-6.Q16-lruby-framework-CoreFoundation-lpthread-lgmp-ldl-lobjc”
ld:找不到-lgmp的库
叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)
检查的程序是:
/*开始*/
1:#包括“ruby.h”
2:
3:int main(int argc,字符**argv)
4: {
5:返回0;
6: }
/*结束*/
有什么想法吗?

解决了

要运行的神奇命令如下所示:

xcode-select --install

升级到El Capitano后我也遇到了同样的问题。我在以前版本的操作系统下安装了rvm和ruby。重新安装ruby为我解决了这个问题。如果您使用rvm,只需运行
rvm重新安装[您的ruby版本]
。之后您应该能够安装
rmagick
gem,不会出现错误。希望这会有所帮助。

您能详细说明一下吗?我需要什么xcode材料?