RMagick抱怨它配置了一个不同版本的ImageMagick。

44
在运行我的Rails项目的本地script/server时,我遇到了以下错误:

该RMagick安装是使用ImageMagick 6.6.1进行配置的,但当前正在使用ImageMagick 6.4.5。(RuntimeError)

运行identify --version显示如下:

版本:ImageMagick 6.6.1-10 2010-05-21 Q8 http://www.imagemagick.org

所以,我的问题是在哪里以及如何进行更改才能正常工作。 我已经重新安装了ImageMagick,但这没有起作用。

你用ruby -e 'require "RMagick"'会得到什么? - microspino
8个回答

82

我也遇到了同样的问题,但解决方法比卸载ImageMagick要简单一些。听起来Rmagick的配置文件没有更新以使用你更新后的ImageMagick,所以尝试:

sudo gem uninstall rmagick
sudo gem install rmagick

重启你的服务器。

我仔细查看了一下,并注意到您已经为较新版本的ImageMagick配置了Rmagick,但使用了旧版本的ImageMagick。因此,我认为我的解决方案仍然有效,但您将不会使用较新的ImageMagick。


1
安装和卸载rmagick gem也解决了我的问题。 - dknight
18
如果使用bundler:bundle exec gem uninstall rmagickbundle - Scott Montgomerie
我也遇到了同样的问题,我的错误信息是:This installation of RMagick was configured with ImageMagick 6.8.6 but ImageMagick 6.8.7-0 is in use - Nikola
有趣的是,rvmsudo uninstall rmagick 然后 rvmsudo install rmagick -v 'version.I.need' 竟然成功了。谢谢!:O - dimitarvp

38
如果使用bundler: bundle exec gem uninstall rmagick bundle install(将rmagick作为捆绑包的一部分重新安装)

9

我建议删除任何先前的安装,然后通过遵循此页面重新开始安装。 首先打开一个终端并启动:

identify -version

这将为您提供安装在您系统上的IM版本。

根据您安装IM的方式,找到从系统中完全删除它的方法。例如,如果您使用了apt-get,请尝试:

sudo apt-get remove ImageMagick

如果您是从源代码安装IM,请转到存储它们的位置(我指的是源代码路径/文件夹)并输入以下内容:
make uninstall

您可以从源代码编译安装ImageMagick:

cd
wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz 
tar zxf ImageMagick.tar.gz 
cd ImageMagick-*/ 
./configure --prefix=$HOME --without-perl
make
make install

那么你需要将 $HOME/bin 添加到你的 $PATH 开头。
cd
echo "export PATH=$HOME/bin:\$PATH" >> .bash_profile
source .bash_profile

现在是安装RMagick的时候了,请执行gem install RMagick命令:
export LD_LIBRARY_PATH=$HOME/lib
gem install rmagick

好的,谢谢您的即时回复。我会检查那个并回复。 - chaitanya
irongaze的回答帮助了我,当我在标准的/usr/local前缀下安装时。http://superuser.com/questions/361435/i-have-compiled-imagemagick-on-my-centos-and-rmagick-wont-install - Pete Brumm
请查看Skotti的解决方案。那可能是你正在寻找的:重新安装rmagick gem。 - Viktor
根据我的经验,在Ubuntu 14.10中,我必须删除与graphicsmagick相关的其他库,例如graphicsmagick-libmagick-dev-compat。似乎Wand-Config和Graphics-Config对rmagick也会产生问题。 - shakaran

6

1

我通过卸载并删除错误消息中列出的文件(然后重新安装)使其正常工作。看起来,卸载并不总是清理一些旧的“.so”文件。


1
我也曾经遇到过同样的问题,最终发现我的libmagick9-dev(sudo apt-get install libmagick9-dev ruby1.8-dev)的安装是针对低版本的ImageMagick APIs。我的解决方案是卸载更高版本的APIs并采用Ubuntu打包的ImageMagick及其它库版本。

1

bundle update rmagick 对我有用


1
我在Rails应用程序中遇到了这个问题。我尝试了Scott Montgomerie的答案,但是我不能让bundle exec gem工作(不确定为什么,没有时间找出原因)。
对我有用的是一个简单的bundle update rmagick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接