【问题标题】:Installing RMagick gem -- Can't find MagickWand.h安装 RMagick gem -- 找不到 MagickWand.h
【发布时间】:2023-03-29 19:45:01
【问题描述】:

我在 OSX 10.6.8 上安装 rmagick gem,使用 gem install 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.

Provided configuration options:
    --with-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/disaacs/.rvm/rubies/ruby-1.9.3-p125/bin/ruby


Gem files will remain installed in /Users/disaacs/.rvm/gems/ruby-1.9.3-p125/gems/rmagick-2.13.1 for inspection.
Results logged to /Users/disaacs/.rvm/gems/ruby-1.9.3-p125/gems/rmagick-2.13.1/ext/RMagick/gem_make.out

查看我看到的 mkmf.log 文件

have_header: checking for wand/MagickWand.h... -------------------- no

"/usr/bin/gcc-4.2 -E -I/Users/disaacs/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/disaacs/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1/ruby/backward -I/Users/disaacs/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1 -I.      conftest.c -o conftest.i"
conftest.c:3:29: error: wand/MagickWand.h: No such file or directory

这是真的。在 gcc-4.2 命令的 -I 指令指定的任何目录中都找不到文件 MagickWand.h。 为什么不呢?我该如何解决这个问题?

ImageMagick 已安装,使用自制软件。如果我搜索我的驱动器,我会发现 MagicWand.h 安装在 /usr/local/Cellar/imagemagick/6.7.7-6/include/ImageMagick/wand/MagickWand.h 中。

我已经尝试了Can't install RMagick 2.13.1. Can't find MagickWand.h. 中的所有建议,但都没有奏效。

编辑: 另一件需要注意的事情:我最初使用 MacPorts 安装了 ImagMagick 6.7.0-7,而 RMagick 安装得很好。除了它不适用于 CarrierWave gem。所以我卸载了 MacPorts 并卸载了 RMagick。然后使用brew install -f imagemagick --disable-openmp 重新安装 ImageMagick,并尝试重新安装 rmagick gem(这让我想到了当前的问题)。我在每一步都重新启动了所有终端,以确保我的路径已刷新。

【问题讨论】:

    标签: ruby osx-snow-leopard rmagick


    【解决方案1】:

    在 OSX El Capitan (10.11.6) 上唯一对我有用的是克隆这个存储库:

    https://github.com/zagros/imagemagick-rmagic-el-captian

    并遵循该 github 页面上描述的每个库的编译步骤,但稍作修改。

    stuff 文件夹中的 imagemagick 本身已经编译并且缺少配置脚本,所以我从 stuff sierra 中提取了其他 image magick 并编译、安装,然后 gem install rmagick 工作。

    【讨论】:

      【解决方案2】:

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

      $ gem install rmagick
      

      然后通过键入来检查版本

      $ 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。

      这对我有用,试试

      如果上述解决方案不起作用,请尝试以下命令

      sudo apt-get install libmagickwand-dev
      

      我希望这会有所帮助。

      【讨论】:

        【解决方案3】:

        我在 OS X El Capitan 上。

        我的应用正在使用 ruby​​ 2.1.2 和 rmagick 2.13.4。

        使用 brew install imagemagick 时,我得到 ImageMagick -v 7.0.4-5。

        我的解决方案是使用 brew install imagemagick@6,它给了我 ImageMagick -v 6.9.7-5 让我能够成功安装 gem。

        【讨论】:

        • 这在 Sierra 中对我有用,但使用 C_INCLUDE_PATH=/usr/local/Cellar/imagemagick@6/6.9.7-9/include/ImageMagick-6/ gem install rmagick
        【解决方案4】:

        我在这上面浪费了很多时间,ImageMagick 6.7 以上的版本不能很好地安装 rmagick gem。好像有人做了一个包来解决这个问题,试试:

        brew install imagemagick-ruby186
        

        卸载之前的 imagemagick 后。之后gem install rmagick 对我来说效果很好。

        【讨论】:

          【解决方案5】:

          这是我在 16.04.1 所做的,

          sudo apt-get install libmagickwand-dev
          sudo apt-get install graphicsmagick-imagemagick-compat
          

          然后安装gem

          PATH="/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:$PATH" gem install rmagick -v '2.13.2'
          

          【讨论】:

          • 问题不是关于 OS X,而不是 Ubuntu?
          • 这是 ubuntu 16.04
          【解决方案6】:

          这是 OS X Mavericks 的解决方案 - 至少它对我有用...

          首先,安装 Xcode 5(来自 App Store)

          然后安装开发工具——打开终端并输入:

          xcode-select install
          

          接下来,从 CatusLab 获取 ImageMagick 包:http://cactuslab.com/imagemagick/ (我选择了不支持 Freetype 的软件包,它需要 XQuarz - 但这完全取决于你)。

          您还需要 pgkconfg - 在这里获取:http://macpkg.sourceforge.net

          安装后,导出 pkgconfig 二进制文件:

          export PATH=/opt/pkgconfig/bin:$PATH
          

          然后找到 MagickWand.h

          mdfind MagickWand.h
          

          它给出了 MagickWand.h 的路径,在我的例子中是 /opt/ImageMagick/include/ImageMagick-6/wand/MagickWand.h

          接下来找到pkgconfig路径:

          mdfind MagickCore.pc
          

          对我来说:/opt/ImageMagick/lib/pkgconfig/MagickCore.pc

          我遇到了无法获取 rmagick gem 的问题,所以我从 ruby​​gems.org/gems/rmagick 下载了它

          将 rmagick gem 下载到您的下载文件夹后,您现在应该可以安装 rmagick:

          sudo C_INCLUDE_PATH=/opt/ImageMagick/include/ImageMagick-6/ PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig/ gem install --local ~/Downloads/rmagick-2.13.2
          

          对我来说它安装成功 - 希望这会有所帮助...

          【讨论】:

            【解决方案7】:

            对于基于 Debian(例如 Ubuntu)的系统,您可以尝试,

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

            它对我有用。

            ruby-forum找到解决方案

            【讨论】:

            • 也在 Ubuntu 14.04 上工作过。谢谢。
            【解决方案8】:

            1) 通过安装程序安装

            http://cactuslab.com/imagemagick/

            2) 尝试 gem install rmagick

            如果检查 wand/MagickWand.h... 否
            输入

            mdfind MagickWand.h
            

            找到类似的东西

            /Users/user/ImageMagick-6.8.3/include/ImageMagick-6/wand/MagickWand.h
            

            然后在终端输入

            C_INCLUDE_PATH=/Users/user/ImageMagick-6.8.3/include/ImageMagick-6/ gem install rmagick
            

            如果在那之后你有这个错误(因为有它)“在 pkg-config 搜索路径中找不到包 MagickCore。”

            类型

            mdfind MagickCore.pc
            

            找到 /opt/ImageMagick/lib/pkgconfig/MagickCore.pc 之类的东西

            最后是终端类型:

            PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig/ gem install rmagick
            

            【讨论】:

            • 谢谢,网上有很多答案,但这是唯一对我有用的。
            • 仅供参考,如果您使用的是 High Sierra,您很可能必须先使用 brew 安装 pkg-config,然后将 /usr/local/opt/imagemagick@6/lib/pkgconfig 用作 PKG_CONFIG_PATH。此外,在 gem install 前面加上另一个 var,将 imagemagick 添加到您的路径:PATH="/usr/local/opt/imagemagick@6/bin:$PATH"。完整命令:PATH="/usr/local/opt/imagemagick@6/bin:$PATH" PKG_CONFIG_PATH=/usr/local/opt/imagemagick@6/lib/pkgconfig gem install rmagick -v '2.13.4'
            【解决方案9】:

            原来答案在Can't install RMagick 2.13.1. Can't find MagickWand.h. 中。我只是错误地遵循了这个建议。

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

            这成功安装了 rmagick gem。

            不幸的是,rmagic 仍然不能与 CarrierWave 一起使用 :-(,但这完全是一个不同的问题。

            【讨论】:

              猜你喜欢
              • 2017-01-22
              • 2012-02-21
              • 1970-01-01
              • 2017-07-04
              • 2011-07-09
              • 1970-01-01
              • 2011-06-21
              • 2013-05-22
              • 2023-03-17
              相关资源
              最近更新 更多