RMagick宝石安装问题:“找不到Magick-config”

241
尝试安装rmagick gem时出现以下错误。我使用RVM,Ruby 1.9.2-head和Rails 3.05的Snowleopard 10.6系统。类似问题的回复建议安装ImageMagick,我成功地完成了这个步骤。其他人建议安装“libmagick9-dev library”,但是我不知道该如何实施。
作为一名新开发者,非常感谢提供任何帮助或指向现有解释或资源的方向。谢谢!
jjdevenuta(opal)$ gem install rmagick
Fetching: rmagick-2.13.1.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
ERROR: Failed to build gem native extension.

/Users/jjdevenuta/.rvm/rubies/ruby-1.9.2-head/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... no
Can't install RMagick 2.13.1. Can't find Magick-config in /Users/jjdevenuta/.rvm/gems/ruby-1.9.2-head@rails3/bin:/Users/jjdevenuta/.rvm/gems/ruby-1.9.2-head@global/bin:/Users/jjdevenuta/.rvm/rubies/ruby-1.9.2-head/bin:/Users/jjdevenuta/.rvm/bin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/X11/bin

*** 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/jjdevenuta/.rvm/rubies/ruby-1.9.2-head/bin/ruby

更新 如果你是Mac/OS X用户,我强烈推荐使用Homebrew作为你的包安装器/管理器。你可以在这里找到它。自从我最初提出这个问题以来,我已经删除了所有之前安装的像rmagick和imagemagick这样的东西,并使用Homebrew重新安装了它们。超级简单,有一个庞大的软件包目录,更新/卸载也很容易!


1
Brew 对我没用,所以我使用了 magick-installer(https://github.com/maddox/magick-installer),它完美地运行了。 - jstreebin
1
针对 Ubuntu 版本 >= 12 的解决方案在以下链接中: https://dev59.com/PHHYa4cB1Zd3GeqPHyBa#17212648 - Marcin Rudzki
您可以查看我之前对同一问题的回答以及相关讨论:https://dev59.com/C2865IYBdhLWcg3wSMgw#4178174 - eaykin
这是一个重复的问题,参考Can't find Magick-config - givanse
显示剩余3条评论
25个回答

450

当构建本地Ruby gem时,有时你会遇到错误包含 "ruby extconf.rb"。这通常是由于安装的gem缺少开发库或者Ruby本身。

你的机器上是否已安装了apt?如果没有,我建议你安装它,因为这是一个快速简单的方法来获取很多开发库。

如果你看到有人建议安装"libmagick9-dev",那么这是一个你可以使用apt来安装的包:

$ sudo apt-get install libmagickwand-dev imagemagick

或者在CentOS上:

$ yum install ImageMagick-devel

在Mac OS上,您可以使用Homebrew

$ brew install imagemagick

4
我在Ubuntu 11.04上遇到了“无法安装RMagick 2.12.2。找不到Magick-config...”的问题。这个方法解决了我的问题。谢谢! - Govind N
3
我也在Linux(Mint)上遇到了“找不到Magick-config”的问题,安装libmagick++-dev解决了这个问题。谢谢! - James P McGrath
7
我曾遇到一个问题,由于一些奇怪的依赖关系问题,我无法安装libmagick9-dev(http://askubuntu.com/questions/112548/rmagick-install-problem)。最终,我通过执行apt-get install imagemagick libmagickwand-dev成功地安装了RMagick。 - mahemoff
11
在Ubuntu 12.04(Precise Pangolin)上,我使用了@TravisR提供的答案,指定了包libmagickwand-dev - Drew Stephens
9
libmagick9-dev软件包无法使用,但是被另一个软件包引用。 这可能意味着该软件包已经丢失、过时或只能从其他来源获得。 然而,以下软件包可以替代它: graphicsmagick-libmagick-dev-compat <<< 安装该软件包对我有效。 - OmnipotentEntity
显示剩余10条评论

163

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

sudo apt-get install libmagickwand-dev

那么你应该能够毫无问题地安装rmagick。


4
谢谢,这个方法对我有用。安装后,我只需运行 bundle install 而不是尝试运行 sudo gem install rmagick - Jonathan
我尝试了这个,但最终在我的Mac上 magick-installer 生效了。 - jstreebin
1
适用于Ubuntu 14.04 LTS。谢谢您,先生! - Sandro L
也适用于 Debian 7.8。谢谢! - user925861
我在Ubuntu 16.04上尝试了这个,但是出现了“libmagickwand-dev: 依赖于 libmagickwand-6.q16-dev,但是它将不会被安装”的错误提示。 - Muhammad Faisal Iqbal

42

imagemagick@6适合我使用!

brew unlink imagemagick
brew install imagemagick@6 && brew link imagemagick@6 --force

请查看此帖子


1
我也在2017年,经过多日的努力,终于有了一些成果。 - user645579
这个在2018年4月对我有效,如果遇到其他问题可以参考这个 - https://dev59.com/kmYr5IYBdhLWcg3wH2vK#48666276 - mayorsanmayor
2018年对我也有效。 - Dogweather
2021年,这是我在Big Sur上使用的方法! - devjme

40

Ubuntu 15.10

请注意,如果您尝试在 Ubuntu 15.10 上安装此 gem,则可能会出现错误:

无法安装 RMagick 2.13.1。无法在...中找到 Magick-config

您只需要将 PATH 变量增加一个额外的路径,以预加载 ImageMagick 库:

PATH="/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:$PATH"

然后运行 gem install rmagick

解决方案来源


2
并且在Ubuntu 18.04上 :) - Kulgar
1
你救了我的一命。非常感谢! - crice1988

22

更新 如果您是Mac/OS X用户,我强烈建议使用Homebrew作为您的软件包安装器/管理器。您可以在此处找到它。自从最初提出这个问题以来,我已经删除了所有先前安装的像rmagick和imagemagick这样的东西,并使用Homebrew重新安装了它们。超级容易操作,有一个庞大的软件包目录,更新/卸载也很简单!

我最终通过利用Github上的ImageMagick安装脚本使其工作。

magick-installer (https://github.com/maddox/magick-installer)

它进行了ImageMagick的全新安装,然后通过bundler完美地安装了RMagick 2.12.2 gem。

感谢Hulihan Applications确认它最可能是缺少库的原因。我尝试了使用apt-get的建议,通过从Fink Project下载安装程序包。我在终端中运行了以下命令,但它找不到libmagick9-dev库。

$ sudo apt-get install libmagick9-dev
$ Password:
$ Reading Package Lists... Done
$ Building Dependency Tree... Done
$ E: Couldn't find package libmagick9-dev

我需要提高一下我的UNIX命令行技能。我从源代码安装的原始副本ImageMagick仍然在机器上,但是我不知道它在哪里或者如何去除它。还有很多要学习的东西...!


经过数小时尝试网上的每一个评论后,magick-installer(如上链接)在Mac上成功运行! - jstreebin

14

事情变了……也许这会帮到其他人:

sudo apt-get install libmagick9-dev 曾经管用。但是随着ImageMagick的更新,我需要以下命令:

sudo apt-get install graphicsmagick-libmagick-dev-compat libmagickcore-dev libmagickwand-dev

在我的Ubuntu 12.04 LTS上运行良好。谢谢。 - vinod
1
在Ubuntu 12.10上,只需安装libmagickcore-devlibmagickwand-dev即可。实际上,尝试安装graphicsmagick-libmagick-dev-compat会对我抛出错误。 - elboletaire
2
尝试在Ubuntu 16.04上安装,但出现“libmagickcore-dev:依赖于libmagickcore-6.q16-dev,但不会被安装”的错误提示。 - Muhammad Faisal Iqbal

11
尝试
1) apt-get install libmagickwand-dev

2) gem install rmagick

在我的Ubuntu 12.10安装中,我按照另一个答案的指示进行操作,Ubuntu建议我安装了一个替代libmagick9-dev的软件包。然而,那个软件包并不兼容。而这个答案中提到的软件包是兼容的。 - Kelsin

8

对于那些不想采用自行构建的方法(否则,John Maddox的杰出安装脚本installer script),以下内容适用于我在CentOS 6.2上安装时使用的方法。(根据需要调整您的软件包管理器)。

yum install -y {libwmf,lcms,ghostscript,ImageMagick}{,-devel}
gem install rmagick

如果你使用发行版的软件包管理器,并且真的希望保持其完整性,那么这对你会很有兴趣。


谢谢。这真是救命稻草。 - Sean H

7

在某些操作系统中,您需要使用新的库:libmagick++4 libmagick++-dev

您可以使用以下命令:

sudo apt-get install libmagick++4 libmagick++-dev

5

重要提示:

sudo apt-get install libmagick++4 libmagick++-dev

在进行更新后,它可以在Linux Mint 13上运行:

sudo apt-get update

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接