Rails - 无法安装RMagick 2.16.0。找不到MagickWand.h

问题描述 投票:11回答:8

我很欣赏这个问题之前已被问过很多次,但是我已经尝试了所有可用的答案都无济于事。错误日志如下:

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

"gcc -E -I/Users/mark/.rvm/rubies/ruby-2.3.3/include/ruby-2.3.0/x86_64-darwin16 -I/Users/mark/.rvm/rubies/ruby-2.3.3/include/ruby-2.3.0/ruby/backward -I/Users/mark/.rvm/rubies/ruby-2.3.3/include/ruby-2.3.0 -I.  -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/local/Cellar/imagemagick/7.0.4-8/include/ImageMagick-7  -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/local/Cellar/imagemagick/7.0.4-8/include/ImageMagick-7  conftest.c -o conftest.i"
conftest.c:3:10: fatal error: 'wand/MagickWand.h' file not found
#include <wand/MagickWand.h>
     ^
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <wand/MagickWand.h>
/* end */

运行mdfind MagickWand.h之后我可以看到路径是:

/usr/local/Cellar/imagemagick/7.0.4-8/include/ImageMagick-7/MagickWand/MagickWand.h

然后我跑:

C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/7.0.4-8/include/ImageMagick-7/MagickWand/ gem install rmagick

但是获得与以前相同的消息。

任何有关如何解决这个问题的帮助非常感谢。

ruby-on-rails rmagick magickwand
8个回答
25
投票

大约一个月我有同样的问题,Mark(自Imagemagick 7更新以来)。我在OSX Sierra上使用自制软件。

对于此问题的未来访问者,您可以尝试链接和取消链接pkgconfig(brew unlink pkgconfig && brew link pkgconfig)或指定Mayur描述的路径,但如果这些不起作用,则需要从Mark安装Imagemagick 6:

$ brew uninstall imagemagick
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb

我相信这个问题最终取决于pkgconfig,所以当你看到pkgconfig的更新时,应该是再次尝试的提示。


12
投票

在osx sierra为我工作了这个

brew unlink imagemagick
brew install imagemagick@6 && brew link imagemagick@6 --force
echo 'export PATH="/usr/local/opt/imagemagick@6/bin:$PATH"' >> ~/.bash_profile

在这里得到它RMagick installation: Can't find MagickWand.h


6
投票

Imagemagick 7似乎不合作。这是我发现的,它对我有用:

brew update
brew rm imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force
bundle

如果您不想强制链接,您还可以执行以下操作:

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

通过@莱利的评论

请查看此GitHub Issue了解更多详情。


2
投票

跑步时遇到了类似的问题

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

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


1
投票

高山3.9图像构建得到相同的错误。它配有ImageMagick 7.0.8.38-r0

要解决这个问题,你可以使用alpine 3.5和ImageMagick 6.9.6.8-r1

FROM alpine:3.5

或者使用3.5的软件包存储库安装ImageMagick 6.9.6.8-r1:

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

有关ImageMagick 7.0.x失败版本的rmagick repo中的There is an open issue。所以希望它很快就能解决。


0
投票

经过多次试验和错误后,问题似乎是ImageMagick 7与OS Sierra不能很好地兼容。我降级到6,现在工作正常。


0
投票

这对我有用:

    $ brew unlink imagemagick
    $ brew install imagemagick@6 && brew link imagemagick@6 --force
    $ echo 'export PATH="/usr/local/opt/imagemagick@6/bin:$PATH"' >> ~/.zshrc
    $ bundle install

0
投票

这对我有用(这是一个没有perl依赖的特殊imagemagick)

$ brew unlink pkg-config && brew reinstall pkg-config
$ brew uninstall imagemagick
$ brew install https://gist.githubusercontent.com/rootux/12cf343688b4ac28b2e9ae5f06827856/raw/3b678d601bef0902cb7ff6d9cc01b86dfd1f7932/imagemagick.rb

我得到"Error: imagemagick: Unsupported special dependency :perl"并与pkg-config有问题

© www.soinside.com 2019 - 2024. All rights reserved.