当我尝试安装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。
任何人都可以帮我解决这个问题。
跑步时遇到了类似的问题
$ 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。
在我这样做之后它对我有用。
更新到Mavericks后我遇到了问题。它失去了很多联系。在我的情况下,我不得不刷新到pkg-config的链接
brew unlink pkg-config
brew link pkg-config
然后安装rmagick就像一个魅力。
我更新到Mountain Lion并开始遇到同样的问题。我不得不重新安装brew,XCode,XCode工具 - 几乎整个环境!
我最终使用上面的phopkins的答案解决了这个问题...
brew install pkgconfig
一旦成功完成(我必须首先删除一些旧的符号链接)然后我能够成功安装RMagick gem
这适用于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
对于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
然后再次重新安装任何缺少的包。 :)
帮我在Debian Wheezy 64bit上
apt-get install libmagickcore-dev libmagickwand-dev
对我来说一个问题是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的第七版。有人在一个单独的宝石中托管了相应的版本(6) - 'imagemagick @ 6'。
如果你需要rmagick工作,但目前有一个imagemagick版本7或更高版本,这里是切换的步骤:
$ gem install imagemagick@6
$ brew unlink imagemagick
$ brew link imagemagick@6 --force
尝试重新安装Imagemagick和PkgConfig。这应该为小牛队解决
brew update && brew upgrade
brew reinstall imagemagick
brew reinstall pkgconfig
我在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
再一次。它工作得很好。
对于基于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工作
C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.7.7-6/include/ImageMagick gem install rmagick
如果您使用的是Ubuntu,安装此软件包就是为我修复它的原因:
sudo apt-get install libmagickwand-dev
我碰到了这个,因为我运行了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
在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
繁荣一切正常。
在arch linux中,安装了imagemagick @ 6后,gem无法安装软件包rmagick并在下面收到错误。
Can't install RMagick 2.16.0. Can't find MagickWand.h
使用以下步骤为我工作
当我在OSX 10.8上安装默认的ImageMagick(没有自制软件或macports)时,我很难将同样的问题付诸实践。此线程中的建议或链接到此线程的线程的组合不适用于我(当然,修改本地安装的路径)。
我只是删除了默认的ImageMagick 6安装,然后重新安装了macports。我的rmagick安装后立即工作,没有其他更改。
在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'首先加载。
现在我点击“酿造医生”进入终端,看看有什么东西搞砸了
如果您得到以下输出您的系统已准备好酿造。一切都好。如果不是ti会告诉你该怎么做。就像踢出未经编造的东西,破碎的文件库,干净的符号链接等等。
当你准备酿造时,你需要ghostscript(对于pdfs),libpng,imagemagick通过brew。
那么你可以愉快地输入:'gem install rmagick',万一你没有杀死你的红宝石设置。但这很容易通过你清理过的啤酒重新安装。
PS:另一个有用的命令是:'which convert',显示系统使用的imagemagick版本。
以及 - 版本
所以,如果你通过brew安装git并执行'git --version'并返回一些apple git版本,那么你的加载路径就会被破坏......
在Mac OS X 10.9上,如果有关于它的警告,请尝试更新您的Xcode。 $ brew医生 我发现了一些警告,请: $ sudo / Developer / Library / uninstall-developer-folder
然后尝试: $ bundle install 再次
这对我来说很好。
在CentOS 6.5 x64上,它非常简单:
yum install ImageMagick ImageMagick-devel
gem install rmagick -v '2.13.2'
我能够通过升级到2.13.2来解决这个问题
所有brew选项都无法在yosemite 10.10上安装rmagick 2.13.1
这很有效 获得最新的RVM
\ curl -sSL https://get.rvm.io | bash -s stable --ruby rvm install 2.1.1 rvm use 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)
高山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。所以希望它很快就能解决。
看起来像ImageMagick 7改变了包含文件路径。
关于构建rmagick
,因为它包含文件wand/MagickWand.h
没有解决方法。现在看起来像是坚持使用ImageMagick 6。
在Mac OS X上(我在Sierra上测试过),我使用了HomeBrew的versions
tap:
brew tap homebrew/versions
brew install imagemagick@6
然后,使用上面安装中显示的路径:
PKG_CONFIG_PATH=/usr/local/opt/imagemagick@6/lib/pkgconfig gem install rmagick
使用ImageMagick 6安装。
可能是您正在安装ImageMagick版本7.x.x,它将在您的usr/lib/local/include/ImageMagick7.x.x
文件夹中生成不同的文件夹名称。
在ImageMagick6.x.x版本中,我们有magick
,wand
命名文件夹,其中ImageMagick7.x.x版本命名为MagickCore
,MagickWand
。所以这个更新导致了一些gem安装中的问题,就像这里一样。哪个使用magick/some_header.h
或wand/some_header.h
(意味着它们没有使用新的7.x.x ImageMagick版本更新)。
这就是我们收到此错误的原因:
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
....
checking for wand/MagickWand.h... no
并在日志文件中这样的事情:
error: 'MagickCore/method-attribute.h' file not found
#include "MagickCore/method-attribute.h"
^
解
从官方站点:https://www.imagemagick.org/download/在您的系统中安装ImageMagick6.x.x版本并使用此命令安装它(在解压缩zip / tar之后):
./configure
make
make install
然后做
gem install rmagick
它会工作。
您可能还需要在此处设置以下符号链接:
ln -s /usr/local/lib/libMagickWand-6.Q16.so.6 /home/marcelo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/rmagick-2.16.0/libMagickWand-6.Q16.so.6
sudo ln -s /usr/local/lib/libMagickWand-6.Q16.so.6 /usr/lib
ln -s /usr/local/lib/libMagickCore-6.Q16.so.6 /home/marcelo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/rmagick-2.16.0/libMagickCore-6.Q16.so.6
sudo ln -s /usr/local/lib/libMagickCore-6.Q16.so.6 /usr/lib
我不想搞乱环境变量因为我希望bundler能够在CI机器上自己编译这个gem。相反,我使用Homebrew来安装pkg-config:
brew install pkgconfig
下次我尝试编译RMagick gem时,发现头文件没有问题。
(这是山狮上的pkg-config 0.28,ImageMagick 6.8.0-10和RMagick 2.13.2。)
修复此设置当前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
我把它标记为最喜欢的,因为它似乎又回到了我需要安装RMagick所需的每个新系统(时间已过,版本号已滚动)。
Mac OS X 10.8.4
rvm 1.22.3
红宝石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
非常感谢所有在上面添加了有用答案的人!
Mac用户使用brew
如果你可以使用ImageMagick的v6而不是7,你可以尝试这个
brew install imagemagick@6 --force && brew link imagemagick@6 --force
请注意,这将取消现有IM安装的链接,因此如果您的计算机上有其他项目使用ImageMagick没有问题,请务必小心。
对于我自己和他人的启发,我通过使用建议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命令行工具。
感谢大家的帖子!我鼓励你的答案,因为它有助于我的!
对于Ubuntu:
sudo apt-get install imagemagick libmagickwand-dev
gem install rmagick