42

script/server在本地运行我的 Rails 项目时出现以下错误:

此 RMagick 安装配置了 ImageMagick 6.6.1,但 ImageMagick 6.4.5 正在使用中。(运行时错误)

运行identify --version显示如下:

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

所以,我的问题是我应该如何以及在哪里进行更改以使其正常工作;我已经重新安装了 ImageMagick,但是没有用。

4

8 回答 8

80

同样的事情发生在我身上,但解决方案比卸载 imageMagick 简单一些。听起来 Rmagick 的配置文件没有更新为使用更新后的 imagemagick,所以试试

sudo gem uninstall rmagick
sudo gem install rmagick

重新启动您的服务器。

这对我有用希望它有帮助

我仔细看了看,发现您为较新的 imageMagick 配置了 Rmagick,但使用的是较旧的 imageMagick。所以我会假设我的解决方案仍然有效,但你不会使用更新的 ImageMagick。

于 2011-10-14T18:14:23.557 回答
37

如果使用捆绑器:

bundle exec gem uninstall rmagick

bundle install(将重新安装 rmagick 作为捆绑包的一部分)

于 2012-11-09T08:03:57.137 回答
9

我将删除任何以前的安装并按照此页面重新开始。首先打开一个shell并启动:

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

现在是 gem 安装 RMagick 的时候了:

export LD_LIBRARY_PATH=$HOME/lib
gem install rmagick
于 2010-05-22T08:07:43.210 回答
6
RMAGICK_BYPASS_VERSION_TEST = true

那是在需要 rmagick 之前设置的全局标志。

来自 https://bugs.launchpad.net/ubuntu/+source/librmagick-ruby/+bug/565461/comments/2

对我来说工作和测试都很好。

于 2010-07-26T01:09:22.350 回答
1

我通过卸载然后删除错误消息中列出的文件(在重新安装之前)使其工作。似乎卸载并不总是清理一些旧的“.so”文件。

于 2010-06-14T10:31:06.987 回答
1

我遇到了同样的问题,最终得出结论,我安装的 libmagick9-dev (sudo apt-get install libmagick9-dev ruby​​1.8-dev) 正在为较低版本安装 ImageMagick API。我的解决方案是卸载更高版本并使用 ImageMagick 和其他库的 Ubuntu 打包版本。

于 2011-05-19T23:07:59.983 回答
1

我在 Rails 应用程序上遇到了这个问题。我尝试了Scott Montgomerie 的回答,但我无法开始bundle exec gem工作(不知道为什么,没有时间去了解)。

对我有用的是一个简单的bundle update rmagick.

于 2016-07-04T20:56:50.677 回答
1

bundle update rmagick为我工作

于 2016-11-18T13:34:47.790 回答