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

Mar*_*ark 13 ruby-on-rails rmagick magickwand

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

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 */
Run Code Online (Sandbox Code Playgroud)

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

/usr/local/Cellar/imagemagick/7.0.4-8/include/ImageMagick-7/MagickWand/MagickWand.h
Run Code Online (Sandbox Code Playgroud)

然后我跑:

C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/7.0.4-8/include/ImageMagick-7/MagickWand/ gem install rmagick
Run Code Online (Sandbox Code Playgroud)

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

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

Tri*_*rip 25

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

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

$ brew uninstall imagemagick
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb
Run Code Online (Sandbox Code Playgroud)

我相信这个问题最终取决于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
Run Code Online (Sandbox Code Playgroud)

在这里得到RMagick安装:找不到MagickWand.h


tna*_*ght 8

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

brew update
brew rm imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force
bundle
Run Code Online (Sandbox Code Playgroud)

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

brew install imagemagick@6
PKG_CONFIG_PATH=/usr/local/opt/imagemagick@6/lib/pkgconfig gem install rmagick
Run Code Online (Sandbox Code Playgroud)

根据@Leo的评论

有关更多详细信息,请查看此GitHub问题.

  • 确认修复osx 10.12.6 ruby​​ 2.3.1 rails 5 (2认同)