【问题标题】:Can't install RMagick 2.13.1. Can't find MagickWand.h.无法安装 RMagick 2.13.1。找不到 MagickWand.h。
【发布时间】:2012-02-21 10:52:25
【问题描述】:

当我尝试安装 rmagick 时,我收到以下错误消息:

Can't install RMagick 2.13.1. Can't find MagickWand.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.

我在 Mac OSX 10.6.8、ruby 1.9.2p290、rvm 1.10.2 上。

谁能帮我解决这个问题。

【问题讨论】:

  • 也许这有帮助:ruby-forum.com/topic/190824
  • 嗨 Daniel。您提供的链接为 Debian apt-get -y install libmagick9-dev 提供了一个解决方案,不幸的是不适用于 Mac OSx。还有其他选择
  • 试试这个:github.com/maddox/magick-installer 与 apt-get、C_... 一起使用,brew 没有
  • TL;DR:如果您在 Mavericks 升级后遇到此问题,请尝试 brew uninstall/reinstall imagemagick/pkgconfig(如下 jwadsa​​ck 建议)
  • 在这里查看我的答案stackoverflow.com/questions/12292896/…

标签: ruby installation rmagick


【解决方案1】:

如果你在 Ubuntu 上,安装这个包对我来说是修复它的方法:

sudo apt-get install libmagickwand-dev

【讨论】:

  • 这就是答案。请接受它而不是上面那个。
  • 呃,将使用额外的 75.2MB 额外空间。我真的需要全部 75 个新软件包吗?
  • @JonathonHorsman 如果我错了,请纠正我,但这是您第一次安装 ImageMagick 吗?为了使 rmagick gem 发挥作用,您需要 ImageMagick 开发人员库及其所有相关的依赖项。所以不幸的是,是的,您确实需要所有这些软件包。从好的方面来说,您的计算机将拥有世界一流的图像处理能力!
  • @northtree - 请注意,原始发帖人询问的是 OS X,而不是 Ubuntu
  • 你还需要imagemagick 包:github.com/rmagick/rmagick/wiki/Installing-on-Ubuntu
【解决方案2】:

看起来 ImageMagick 7 更改了包含文件路径。

在构建 rmagick 时,因为它包含文件为 wand/MagickWand.h 没有解决方法。现在看来还是坚持使用 ImageMagick 6。

在 Mac OS X 上(我在 Sierra 上测试过),我使用 HomeBrew 的 versions 点按如下:

brew tap homebrew/versions
brew install imagemagick@6

然后,使用上面安装显示的路径:

PKG_CONFIG_PATH=/usr/local/opt/imagemagick@6/lib/pkgconfig gem install rmagick

使用 ImageMagick 6 安装。

【讨论】:

  • 终于成功了,非常感谢!顺便说一句,我也在 Sierra。
  • 在 10.12.1 上工作 :) 谢谢
  • 对于那些关心PKG_CONFIG_PATH 来自哪里的人,如果你brew info imagemagick@6,它会告诉你酿造公式是仅桶而不是符号链接到/usr/local。如果需要,它还会告诉您设置PKG_CONFIG_PATH: /usr/local/opt/imagemagick@6/lib/pkgconfig
  • 你是大师。我不知道为什么会这样,但我很高兴它成功了。
  • 耶稣掌舵!!谢谢!
【解决方案3】:

我不想弄乱环境变量,因为我希望 bundler 能够在 CI 机器上自行编译这个 gem。相反,我使用 Homebrew 安装 pkg-config:

brew install pkgconfig

下次我尝试编译 RMagick gem 时,它发现头文件没有问题。

(这是 pkg-config 0.28、ImageMagick 6.8.0-10 和 RMagick 2.13.2,都在 Mountain Lion 上。)

【讨论】:

  • 你拯救了我的一天。谢谢!
  • 在小牛队也是如此。谢谢!
  • brew install pkgconfig 行工作得很好。它帮助我成功安装了 rmagick。
  • 就我而言(在 Mavericks 升级后似乎已删除所有链接公式):brew uninstall pkgconfig imagemagickbrew install imagemagick pkgconfigbundle
  • jwadsa​​ck 解决方案解决了我的问题 - 我必须在小牛升级后卸载/重新安装 imagemagick/pkgconfig - 即使我已经安装了两者的最新版本。
【解决方案4】:

我在跑步时遇到了类似的问题

$ gem install rmagick

首先,您是否安装了 imagemagick?如果不确定,请运行

$ convert --version

如果你这样做了,你可能会用 fink 或 macports 安装它(也许是自制软件?)。发生的事情是 rvm 找不到 imagemagick 目录。

看完之后 https://superuser.com/questions/361435/i-have-compiled-imagemagick-on-my-centos-and-rmagick-wont-install 我通过添加导出了imagemagick路径

$ export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig:$PKG_CONFIG_PATH"

到我的 ~/.bash_profile,获取新的配置文件,然后运行:

gem install rmagick

在我这样做之后它对我有用。

【讨论】:

  • 非常感谢 Darren,它可以正常工作。你说得对 rvm 没有看到 imagemagick 路径
  • 我将 PKG_CONFIG_PATH 更新为 /Dir/to/where/found/MagickCore.pc,但仍然以“无法安装 RMagick 2.13.1。找不到 MagickWand.h”结尾。.. 任何建议为什么它可能不会被拾起以及我还能尝试什么.. 不确定如何使用您链接的帖子中提到的 -l 选项?
  • 可能想提一下第二步,因为你的第一步对我不起作用(尽管我使用的是 tmux):ln -s /usr/local/include/ImageMagick/wand /usr/local/include/wand && ln -s /usr/local/include/ImageMagick/magick /usr/local/include/magick
  • 在我的 Mac 上,此命令应更改为 `$ export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"`
  • 值得注意的是,PKG_CONFIG_PATH 与 pkg-config 实用程序相关,我的 Mac 默认情况下未安装该实用程序。当我执行gem install rmagick 时,我收到了/usr/local/bin/Magick-config: line 41: pkg-config: command not found 警告。我使用brew install pkg-config 安装了pkg-config,然后按照此处所述设置PKG_CONFIG_PATH,gem 安装工作正常。
【解决方案5】:

将此设置修复为当前 imagemagick 安装的包含路径:

使用 brew 安装 ImageMagick

brew install imagemagick

查找图书馆

$ mdfind MagickWand.h
/usr/local/Cellar/imagemagick/6.7.5-7/include/ImageMagick/wand/MagickWand.h

安装 rmagick gem

$ C_INCLUDE_PATH=/path/MagickWand.h gem install rmagick

示例:

$ C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.7.5-7/include/ImageMagick/ gem install rmagick

【讨论】:

  • 在我的 Mac 上,我必须在 PKG_CONFIG_PATH 中获取两个目录。我将这两个导出语句添加到我的 .zshrc 文件中(请记住在尝试安装 imagemagick 之前获取文件): export PKG_CONFIG_PATH="/usr/local/Cellar/imagemagick/6.7.7-6/include/ImageMagick/wand: $PKG_CONFIG_PATH" export PKG_CONFIG_PATH="/usr/local/Cellar/imagemagick/6.7.7-6/lib/pkgconfig:$PKG_CONFIG_PATH"
  • 我尝试了这个,它解决了 MagickWand.h 问题,但随后出现了 Magick-config 问题
  • 工作运行 C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.7.5-7/include/ImageMagick/ brew install --fresh -vvvvv php54-imagick
  • 这个步骤对我来说效果很好,除了小修改。在上述步骤中,正确给出了示例,但该步骤将文件本身包含在包含路径中。我们只需要给出示例中指定的路径。
  • 安装 imagick 版本 6 对我有用。我做了以下操作:1) brew install rmagick 2) brew tap homebrew/versions brew install imagemagick@6 3) C_INCLUDE_PATH=/usr/local/Cellar/imagemagick@6/6.9.8-4/include/ImageMagick-6/ gem install魔术师
【解决方案6】:

我将其标记为收藏夹,因为它似乎会在我需要安装 RMagick 的每个新系统上重新吸引我(时间已经过去,版本号已经滚动)。

Mac OS X 10.8.4

rvm 1.22.3

ruby-2.0.0-p247

已安装 Xcode 4.6.3 开发者工具

$ brew install imagemagick
==> /usr/local/Cellar/imagemagick/6.8.6-3

$ brew install pkgconfig
==> /usr/local/Cellar/pkg-config/0.28

$ C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.8.6-3/include/ImageMagick-6 PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.8.6-3/lib/pkgconfig/ gem install rmagick
Successfully installed rmagick-2.13.2

非常感谢所有在上面添加有用答案的人!

【讨论】:

  • 这是唯一对我有用的东西。祝福你,好先生。
  • 太棒了!我鼓励您使用它仍在使用的当前版本号提供类似的答案。
  • 以防一开始这不起作用!确保brew uninstall这两个 brew 包并再次安装它们。
  • 在 OS X Yosemite 上为我工作。尝试了一堆东西,这是唯一有效的方法。
【解决方案7】:

使用 brew 的 Mac 用户

如果你可以使用 ImageMagick 的 v6 而不是 7,你可以试试这个

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

请注意,这将取消您现有的 IM 安装的链接,因此如果您的计算机上有其他项目使用 ImageMagick 没有问题,请小心。

【讨论】:

  • 谢谢。我尝试了上述所有其他建议,但仅适用于 10.12.2
【解决方案8】:

对于我自己和其他人的启发,我通过使用建议 xonico 克服了有关 magicwand.h 的错误。 MDFind 加上 C_INCLUDE_PATH。然而,它给了我一个关于 MagickCore.pc 的错误。我完成这项工作的最终命令必须像这样包含两者:

 C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.7.7-6/include/ImageMagick/ PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.7.7-6/lib/pkgconfig/ gem install rmagick

显然,您的路径会有所不同,具体取决于您是否像我一样使用 brew 以及您安装的 imagemagick 版本。此外,正如其他人所提到的,确实必须安装 xcode 命令行工具。

感谢大家在这方面的帖子!我正在加分你的答案,因为它对我有贡献!

【讨论】:

  • 这个对我来说是同样的情况。需要两个配置选项!
【解决方案9】:

对于 Ubuntu:

sudo apt-get install imagemagick libmagickwand-dev
gem install rmagick

【讨论】:

  • 虽然这可能对面临相同问题的 linux 用户有所帮助,但 OP 已明确指定(她)他正在使用 Mac OS,因此这个答案可能会产生误导。至少请提及该答案适用于 linux(哪些发行版?)。
【解决方案10】:

更新到 Maverics 后我遇到了问题。 它失去了很多联系。 就我而言,我必须刷新指向 pkg-config 的链接

brew unlink pkg-config
brew link pkg-config

然后安装 rmagick 就像一个魅力。

【讨论】:

  • 也为我工作!谢谢!
【解决方案11】:

我更新到 Mountain Lion 并开始遇到同样的问题。我不得不重新安装 brew、XCode、XCode 工具——几乎是整个环境!

我最终使用上面 phopkins 的答案解决了这个问题......

brew install pkgconfig

一旦成功完成(我必须先删除一些旧的符号链接),我就能够成功安装 RMagick gem

【讨论】:

  • 热烈的击掌和拥抱。那是我的问题。
  • 我想你的意思是brew install pkgconfig
  • 谢谢纳撒尼尔 - 你是对的。我更新了帖子。
【解决方案12】:

这在 Mac OsX 上对我有用

安装 Imagemagick:

brew remove imagemagick
brew install imagemagick

确保 pkg-config 正确链接:

brew uninstall pkg-config
brew install pkg-config
brew unlink pkg-config && brew link pkg-config

安装 gem

gem install rmagick

【讨论】:

    【解决方案13】:

    Ubuntu 用户: 它永远不会直接在 Ubuntu 上完成。您应该首先安装软件包以运行此命令...:

    sudo apt-get install libmagickwand-dev  
    

    ...然后安装:

    gem install rmagick
    

    您可能会遇到同样的问题,为此,请先尝试清除您的 apt 存储库并删除所有损坏的软件包:

    sudo apt-get update
    sudo apt-get autoclean
    sudo apt-get clean
    sudo apt-get autoremove
    

    如果系统识别出任何损坏的包,请强制删除它们(将package_name替换为您自己的):

    sudo dpkg --remove -force --force-remove-reinstreq package_name
    

    然后重新安装任何丢失的软件包。 :)

    【讨论】:

      【解决方案14】:

      对我来说一个问题是 rmagick 已经过时并且没有定期更新。如果您的 ImageMagick 版本太新,那么它可能不兼容。使用以下命令检查您的 ImageMagick 版本:

      $ convert --version
      

      如果 ImageMagick 版本大于 7,则与 rmagick 不兼容。用户会得到诸如

      之类的错误
      Can't install RMagick 2.16.0. Can't find MagickWand.h.
      *** extconf.rb failed *** 
      

      返回到 ImageMagick 的第六版,直到他们更新 rmagick 以与 ImageMagick 的第七版兼容。有人在单独的 gem 中托管了适当的版本 (6) - 'imagemagick@6'。

      如果您需要 rmagick 才能工作,但目前有 imagemagick 7 或更高版本,请按照以下步骤进行切换:

      $ gem install imagemagick@6
      $ brew unlink imagemagick
      $ brew link imagemagick@6 --force
      

      【讨论】:

        【解决方案15】:

        在 Debian Wheezy 64bit 上帮助我

         apt-get install libmagickcore-dev libmagickwand-dev
        

        【讨论】:

          【解决方案16】:

          尝试重新安装 Imagemagick 和 PkgConfig。那应该为小牛队解决它

          • brew update && brew upgrade
          • brew reinstall imagemagick
          • brew reinstall pkgconfig

          【讨论】:

            【解决方案17】:
            C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.7.7-6/include/ImageMagick gem install rmagick
            

            【讨论】:

            • 在 Arch 和 Manjraro 上工作!
            【解决方案18】:

            我真的在 OS X Mountain Lion 上遇到了这个问题(从 Lion 升级后),关于 C_INCLUDE_PATH、PKG_CONFIG_PATH、输入各种文件等的建议都没有奏效。在我升级到Mountain Lion的同一天,我也将XCode升级到了4.5.2,但我并没有想太多。

            最终我停止尝试安装 RMagick,不得不将工作交给同事。

            然后,偶然地,我发现我试图在另一个项目上使用 bundle install 并且我无法安装 json gem,因为找不到“make”。我检查了一下,发现你需要去 XCode -> Preferences -> Downloads 并安装命令行工具才能让 make 再次工作。 json gem 安装良好。

            然后我暂停了......然后尝试了

            gem install rmagick
            

            再来一次。效果很好。

            【讨论】:

              【解决方案19】:

              对于基于 Rails 的应用程序,我发现了这个

              sudo apt-get install -y libmagickwand-6-headers
              C_INCLUDE_PATH=/usr/include/ImageMagick-6 gem install rmagick
              bundle update rmagick
              bundle install
              

              曾在 debian jessie

              上工作

              【讨论】:

                【解决方案20】:

                我遇到此问题是因为我运行了 OS X 的迁移助手,但迁移后没有重新链接任何内容。您需要检查Wand-config --ldflags --libs 的输出。就我而言,它给出了:

                $ Wand-config --ldflags --libs
                /usr/local/bin/Wand-config: line 50: pkg-config: command not found
                /usr/local/bin/Wand-config: line 53: pkg-config: command not found
                

                重新链接 pkg-config、libpng 和 libfreetype 后,变成:

                $ Wand-config --ldflags --libs
                -L/usr/local/Cellar/imagemagick/6.8.8-9/lib -lMagickWand-6.Q16 -lMagickCore-6.Q16 
                -L/usr/local/Cellar/imagemagick/6.8.8-9/lib -lMagickWand-6.Q16 -lMagickCore-6.Q16 
                

                然后:

                $ gem install rmagick
                Building native extensions.  This could take a while...
                Successfully installed rmagick-2.13.2
                Parsing documentation for rmagick-2.13.2
                Done installing documentation for rmagick after 4 seconds
                1 gem installed
                

                【讨论】:

                  【解决方案21】:

                  linux 操作系统中:

                  C_INCLUDE_PATH=/usr/local/include/ImageMagick-6/ gem install rmagick
                  

                  构建原生扩展。这可能需要一段时间...

                  ERROR:  Error installing rmagick:
                      ERROR: Failed to build gem native extension.
                  
                          /home/vagrant/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb
                  ...
                  Package MagickCore was not found in the pkg-config search path.
                  Perhaps you should add the directory containing `MagickCore.pc'
                  

                  然后:

                  export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
                  

                  在我的 .bashrc 文件中选择 MagickCore.pc,然后创建两个符号链接:

                  ln -s /usr/local/include/ImageMagick/wand /usr/local/include/ImageMagick-6/wand
                  ln -s /usr/local/include/ImageMagick/magick /usr/local/include/ImageMagick-6/magick
                  

                  现在:

                  $ gem install rmagick
                  Building native extensions.  This could take a while...
                  Successfully installed rmagick-2.13.2
                  1 gem installed
                  

                  boom 一切正常。

                  【讨论】:

                    【解决方案22】:

                    在arch linux下,安装imagemagick@6后,gem无法安装rmagick包,出现如下错误。

                    Can't install RMagick 2.16.0. Can't find MagickWand.h
                    

                    使用以下步骤为我工作

                    1. 将 pkgconfig 路径添加到 .bashrc

                      导出 PKG_CONFIG_PATH="/usr/lib/imagemagick6/pkgconfig"

                    2. 如下创建了两个符号链接

                      ln -s /usr/include/ImageMagick-6/wand /usr/include/ImageMagick-6/wand

                      ln -s /usr/local/include/ImageMagick/magick /usr/include/ImageMagick-6/magick

                    【讨论】:

                    • Arch 通常不会保留这样的旧版本(我不清楚上面的 imagemagick@6 是什么意思),但这在我的 Arch 盒子上真的很容易——有一个名为imagemagick6 的包在extra 中可用;只需安装它,它就会删除 imagemagick(即 v7 将被降级为 v6)
                    • @jaustin 昨天,我已经在这里提到“gem 无法安装包”
                    • 我不是在谈论 gem 安装(直接);我的评论涉及将arch包降级到imagemagick 6。即不需要所有PKG_CONFIG....的东西,只需pacman -S imagemagick6(假设您可以降级)。
                    【解决方案23】:

                    这个问题有一些变种。大多数情况是处理运行旧版本 ruby​​ 的遗留应用程序。

                    rmagick 依赖于 imagemagick……但不仅仅是任何一个。如果你已经走得太远,回溯可能是明智的:

                    brew uninstall imagemagick
                    

                    然后继续使用适当的版本

                    brew install imagemagick@6
                    

                    那么你的路径需要调整并强制使用自制软件

                    export PATH="/usr/local/opt/imagemagick@6/bin:$PATH"
                    brew link --force imagemagick@6
                    

                    然后您可以将 rmagick 安装到最新版本或版本

                    gem install rmagick -v '2.15.4' --source 'https://rubygems.org/'
                    

                    【讨论】:

                      【解决方案24】:

                      当我在 OSX 10.8(没有自制软件或 macports)上安装默认 ImageMagick 时,我很难解决同样的问题。此线程中的建议或从该线程链接到的线程的任何组合都不适合我(当然修改我的本地安装的路径)。

                      我只是删除了默认的 ImageMagick 6 安装,然后用 macports 重新安装。我的 rmagick 安装在没有其他更改后立即运行。

                      【讨论】:

                        【解决方案25】:

                        在 OSX Maverick 10.9.1 上 我花了很长时间才弄清楚,但我通过以下方式解决了这些问题:

                        nano /etc/paths
                        

                        改变了:

                        /usr/bin
                        /bin
                        /usr/sbin
                        /sbin
                        /usr/local/bin
                        

                        进入:

                        /usr/local/bin
                        /usr/bin
                        /bin
                        /usr/sbin
                        /sbin
                        

                        首先加载本地内容,例如“brew”。

                        现在我在终端点击“brew doctor”,看看是否有什么问题

                        如果你得到以下输出 您的系统已准备好冲泡。 一切都很好。如果不是,我会告诉你该怎么做。就像踢出未酿造的东西、损坏的库、干净的符号链接等等。

                        当你准备好 brew 时,你需要 ghostscript(for pdfs)、libpng、imagemagick via brew。

                        然后你可以愉快地输入:'gem install rmagick',以防你没有杀死你的 ruby​​ 设置。但这很容易通过清理后的 brew 重新安装。

                        PS: 另一个有用的命令是:'which convert',显示系统使用的 imagemagick 版本。

                        还有--version

                        因此,如果您通过 brew 安装 git 并执行 'git --version' 并返回一些苹果 git 版本,则您的加载路径已损坏...

                        【讨论】:

                          【解决方案26】:

                          在 Mac OS X 10.9 上,如果出现警告,请尝试更新您的 Xcode。
                          $ 酿造医生
                          我发现了一些警告,请执行:
                          $ sudo /Developer/Library/uninstall-developer-folder

                          那就试试吧:
                          $ 捆绑安装
                          再次

                          这对我来说很好。

                          【讨论】:

                            【解决方案27】:

                            在 CentOS 6.5 x64 上,这很容易:

                            yum install ImageMagick ImageMagick-devel
                            
                            gem install rmagick -v '2.13.2'
                            

                            【讨论】:

                              【解决方案28】:

                              我可以通过升级到 2.13.2 来解决这个问题

                              【讨论】:

                                【解决方案29】:

                                所有 brew 选项都无法在 yosemite 10.10 上安装 rmagick 2.13.1

                                这行得通
                                获取最新的 RVM

                                \curl -sSL https://get.rvm.io | bash -s 稳定 --ruby rvm 安装 2.1.1 rvm 使用 2.1.1

                                下载并安装包文件 http://cactuslab.com/imagemagick

                                (我用的是pacifist安装的)

                                确认 MagickCore.pc 文件的位置

                                mdfind magickcore.pc

                                例如。 /opt/ImageMagick/lib/pkgconfig/MagickCore.pc

                                手动下载rmagick-2.15.2.gem文件 https://rubygems.org/gems/rmagick/versions/2.15.2

                                从那个目录

                                sudo C_INCLUDE_PATH=/opt/ImageMagick/include/ImageMagick-6/PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig gem install --local rmagick-2.15.2.gem

                                如果您遇到捆绑安装程序问题仍然抱怨 2.13.1

                                在你的 gem 文件/gem.lock 文件中升级所有依赖项

                                rmagick (2.13.1) -> rmagick (>= 2.15.2)

                                【讨论】:

                                  【解决方案30】:

                                  在 alpine 3.9 映像构建中遇到了同样的错误。它带有ImageMagick 7.0.8.38-r0

                                  要解决这个问题,您可以使用带有ImageMagick 6.9.6.8-r1 的 alpine 3.5:

                                  FROM alpine:3.5
                                  

                                  或者安装 ImageMagick 6.9.6.8-r1 和 3.5 的包存储库:

                                  RUN apk add imagemagick-dev=6.9.6.8-r1 --repository http://dl-3.alpinelinux.org/alpine/v3.5/main/
                                  

                                  There is an open issue 在 rmagick 存储库中关于 ImageMagick 7.0.x 的构建失败。所以希望它会尽快修复。

                                  【讨论】:

                                    猜你喜欢
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2017-01-22
                                    • 2017-07-04
                                    • 2011-04-23
                                    • 2023-03-29
                                    • 2012-04-17
                                    • 2015-04-04
                                    • 2014-07-04
                                    相关资源
                                    最近更新 更多