2012-12-08 144 views
8

编辑:[修正] 问题是我已经安装了它,但不知道,并试图从源代码安装。这创建了两个版本,并且该宝石不知道要使用哪个版本。我通过去下载的源代码并运行来修复它RMagick gem无法安装在Debian Stable上

sudo make uninstall 

然后我再次运行了gem install rmagick,它工作正常!

[原来的问题]

我想在this railscast安装rmagick宝石等。这里是什么,我把我的Gemfile代码片段:

gem 'rmagick' 
gem 'carrierwave' 

当我运行捆绑安装,我得到以下的输出:

Installing rmagick (2.13.1) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

     /home/techusb/.rbenv/versions/1.9.3-p125/bin/ruby extconf.rb 
checking for Ruby version >= 1.8.5... yes 
extconf.rb:128: Use RbConfig instead of obsolete and deprecated Config. 
checking for cc... yes 
checking for Magick-config... yes 

Warning: Found more than one ImageMagick installation. This could cause problems at runtime. 
     /usr/local/bin/Magick-config reports version 6.8.0 Q16 is installed in /usr/local 
     /usr/bin/Magick-config reports version 1.3.12 is installed in /usr 
Using 6.8.0 Q16 from /usr/local. 

checking for ImageMagick version >= 6.4.9... yes 
checking for HDRI disabled version of ImageMagick... 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=/home/techusb/.rbenv/versions/1.9.3-p125/bin/ruby 
/home/techusb/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError) 
You have to install development tools first. 
    from /home/techusb/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:506:in `try_cpp' 
    from /home/techusb/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:931:in `block in have_header' 
    from /home/techusb/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for' 
    from /home/techusb/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone' 
    from /home/techusb/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
    from /home/techusb/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone' 
    from /home/techusb/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
    from /home/techusb/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:280:in `postpone' 
    from /home/techusb/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for' 
    from /home/techusb/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:930:in `have_header' 
    from extconf.rb:193:in `<main>' 


Gem files will remain installed in /home/techusb/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/rmagick-2.13.1 for inspection. 
Results logged to /home/techusb/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/rmagick-2.13.1/ext/RMagick/gem_make.out 
An error occurred while installing rmagick (2.13.1), and Bundler cannot continue. 
Make sure that `gem install rmagick -v '2.13.1'` succeeds before bundling. 

对此行:

The compiler failed to generate an executable file. (RuntimeError) 
You have to install development tools first. 

我想我已经用尽了所有关于如何通过google/stackoverflow修复此错误的信息。我已经尝试安装开发包等。不知道该从哪里出发。任何帮助不胜感激。

回答

20

=>https://stackoverflow.com/a/10647962/1420038;

“新的正确的方法是安装libmagickwand-dev的:

命令和apt-get安装libmagickwand-dev的 那么你应该能够安装rmagick没问题”

作品在debian 6.0.6

+1

确认。与Debian 7.8一起工作! – Stradivari

+1

和8.8以及 – Nathan

+0

和debian 9(伸展) - apt-get install libmagickwand-dev带来60个依赖项,但是然后gem install rmagick工作! – iheggie