Rails - 无法安装 RMagick 2.16.0。找不到 MagickWand.h
Rails - Can't install RMagick 2.16.0. Can't find MagickWand.h
我很感激这个问题以前被问过很多次,但是我已经尝试了所有可用的答案都无济于事。错误日志如下:
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 */
在运行ning 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
但是得到的信息和以前一样。
非常感谢任何有关如何解决此问题的帮助。
我对 运行ning
也有类似的问题
$ gem install rmagick
首先,你有安装imagemagick吗?如果您不确定,运行
$ convert --version
如果这样做,您可能使用 fink 或 macports(也许是自制软件?)安装了它。发生的事情是 rvm 找不到 imagemagick 目录。
导出了imagemagick路径
$ export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig:$PKG_CONFIG_PATH"
到我的 ~/.bash_profile,获取新配置文件,然后 运行ning gem 再次安装 rmagick。
我这样做后对我有用。
经过反复试验,问题似乎出在 ImageMagick 7 与 OS Sierra 的配合不佳。我降级到 6,现在工作正常。
马克,我遇到同样的问题大约一个月了(自从 Imagemagick 7 更新以来)。我在 OSX Sierra 上使用自制软件。
对于此问题的未来访问者,您可以尝试链接和取消链接 pkgconfig (brew unlink pkgconfig && brew link pkgconfig
) 或按照 Mayur 描述的那样指定路径,但如果这些方法不起作用,您需要从以下位置安装 Imagemagick 6马克所做的来源:
$ brew uninstall imagemagick
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb
我认为问题最终出在 pkgconfig 上,因此当您看到 pkgconfig 的更新时,这应该是重试的提示。
在 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
在这里知道了
这对我有用:
$ 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
Imagemagick 7 好像不配合。这是我找到的,对我有用:
brew update
brew rm imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force
bundle
如果你不想强制link你也可以这样做:
brew install imagemagick@6
PKG_CONFIG_PATH=/usr/local/opt/imagemagick@6/lib/pkgconfig gem install rmagick
根据@Leo 的评论
请查看此GitHub Issue了解更多详情。
这是对我有用的(这是一个不依赖 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
有问题
生成 alpine 3.9 映像时出现同样的错误。它带有 ImageMagick 7.0.8.38-r0
要解决此问题,您可以将 alpine 3.5 与 ImageMagick 6.9.6.8-r1:
一起使用
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。所以希望它会尽快修复。
这真的还是个问题吗,ImageMagick 7.x 已经有好几年了?显然它仍然是,因为像 Debian 这样的软件和那些疯狂到仍然以这些垃圾为目标的人仍在为 ImageMagick 6.x.
开发
您最好更新您的软件以使用 ImageMagick 7,而不是永远坚持使用旧版本。
适用于 Macbook Pro M1 芯片上的 macOS Monterey
尝试:
brew install imagemagick@6 && brew link imagemagick@6 --force
echo 'export PATH="/opt/homebrew/opt/imagemagick@6/bin:$PATH"' >> ~/.zshrc
我很感激这个问题以前被问过很多次,但是我已经尝试了所有可用的答案都无济于事。错误日志如下:
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 */
在运行ning 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
但是得到的信息和以前一样。
非常感谢任何有关如何解决此问题的帮助。
我对 运行ning
也有类似的问题$ gem install rmagick
首先,你有安装imagemagick吗?如果您不确定,运行
$ convert --version
如果这样做,您可能使用 fink 或 macports(也许是自制软件?)安装了它。发生的事情是 rvm 找不到 imagemagick 目录。
导出了imagemagick路径$ export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig:$PKG_CONFIG_PATH"
到我的 ~/.bash_profile,获取新配置文件,然后 运行ning gem 再次安装 rmagick。
我这样做后对我有用。
经过反复试验,问题似乎出在 ImageMagick 7 与 OS Sierra 的配合不佳。我降级到 6,现在工作正常。
马克,我遇到同样的问题大约一个月了(自从 Imagemagick 7 更新以来)。我在 OSX Sierra 上使用自制软件。
对于此问题的未来访问者,您可以尝试链接和取消链接 pkgconfig (brew unlink pkgconfig && brew link pkgconfig
) 或按照 Mayur 描述的那样指定路径,但如果这些方法不起作用,您需要从以下位置安装 Imagemagick 6马克所做的来源:
$ brew uninstall imagemagick
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb
我认为问题最终出在 pkgconfig 上,因此当您看到 pkgconfig 的更新时,这应该是重试的提示。
在 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
在这里知道了
这对我有用:
$ 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
Imagemagick 7 好像不配合。这是我找到的,对我有用:
brew update
brew rm imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force
bundle
如果你不想强制link你也可以这样做:
brew install imagemagick@6
PKG_CONFIG_PATH=/usr/local/opt/imagemagick@6/lib/pkgconfig gem install rmagick
根据@Leo 的评论
请查看此GitHub Issue了解更多详情。
这是对我有用的(这是一个不依赖 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
生成 alpine 3.9 映像时出现同样的错误。它带有 ImageMagick 7.0.8.38-r0
要解决此问题,您可以将 alpine 3.5 与 ImageMagick 6.9.6.8-r1:
一起使用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。所以希望它会尽快修复。
这真的还是个问题吗,ImageMagick 7.x 已经有好几年了?显然它仍然是,因为像 Debian 这样的软件和那些疯狂到仍然以这些垃圾为目标的人仍在为 ImageMagick 6.x.
开发您最好更新您的软件以使用 ImageMagick 7,而不是永远坚持使用旧版本。
适用于 Macbook Pro M1 芯片上的 macOS Monterey
尝试:
brew install imagemagick@6 && brew link imagemagick@6 --force
echo 'export PATH="/opt/homebrew/opt/imagemagick@6/bin:$PATH"' >> ~/.zshrc