17

我在 Centos 5 上安装 RMagick ruby​​gem 时遇到问题。我已按照http://rmagick.rubyforge.org/install2-linux.html中详述的步骤进行操作,但是当我尝试时:

sudo gem install rmagick

结果是:

Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... no
Can't install RMagick 2.11.0. Can't find Magick-config in /usr/bin:/bin

*** 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.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/local/bin/ruby


Gem files will remain installed in /usr/local/lib/ruby/gems/1.8/gems/rmagick-2.11.0 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.8/gems/rmagick-2.11.0/ext/RMagick/gem_make.out

目录 /usr/local/bin 包含 Magick-config 但我无法让 ruby​​gems 在那里查看。我尝试了以下但结果是一样的:

sudo gem install rmagick -- --with-opt-dir=/usr/local/bin

任何建议,将不胜感激。

4

7 回答 7

42

我最近将 ImageMagick 6.5.4.7 从 CentOS6 向后移植到 CentOS5,所以现在安装 rmagick 应该更容易:

rpm -Uvh http://rbel.co/rbel5
yum install ImageMagick-devel ImageMagick-c++-devel
gem install rmagick
于 2011-10-14T11:04:10.807 回答
26

所以我终于设法安装了 rmagick ruby​​gem 的 1.15.17 版!这是我所做的:

  1. 卸载 ImageMagick 6.5.4-9 和我从源代码安装的委托库
  2. sudo yum install ImageMagick
  3. sudo yum install ImageMagick-devel
  4. curl -O http://www.zacharywhitley.com/linux/rpms/fedora/core/6/i386/msttcorefonts-2.0-1.noarch.rpm
  5. sudo rpm -ivh msttcorefonts-2.0-1.noarch.rpm
  6. ln -s /usr/share/fonts/msttcorefonts/ /usr/share/fonts/default/TrueType
  7. sudo gem install rmagick -v 1.15.17 --no-rdoc --no-ri

David BockWill的博客文章非常宝贵。

于 2009-08-11T00:23:43.387 回答
9

rubiojr的答案对我有用,但 rbel.co 目前已关闭。您可以改用 rbel.frameos.org:

rpm -Uvh http://rbel.frameos.org/rbel5
yum install ImageMagick-devel ImageMagick-c++-devel
gem install rmagick
于 2013-02-01T06:33:39.667 回答
3

由于依赖于其他软件包等,rmagick 是出了名的难以安装。我刚刚在 Ubuntu 上玩过这个游戏,诀窍就是安装正确的软件包,包括开发软件包等。我不熟悉 CentOS,但有人会可能会为此提供正确的软件包。

如果一切都失败了,通常可以从源代码构建和安装 ImageMagick。

编辑:查看一个相关问题,我看到以下内容:

在某些平台(CentOS 5.2)上,我不得不安装特定版本的 RMagick,因为我的包管理器(yum)的默认存储库只有旧版本的 RMagick 开发库。我通过以下方式安装了这个版本:

gem install rmagick -v 1.15.13
于 2009-08-10T11:34:32.620 回答
1

按照投票最多的答案中的说明进行操作后,不断收到此错误:

RMagick: unable to read font `(null)'.

所以我有一些内容要添加到第 7 步,取自 David Bock 博客的更新:

http://blog.codesherpas.com/on_the_path/2009/09/installing-centos-5-imagemagick-and-rmagick-september-2009-edition.html

gem install rmagick -v 1.15.17 --no-rdoc --no-ri -- --disable-htmldoc

如果您的字体文件让 rmagick 不满意,禁用 html 文档对于避免进一步的错误至关重要。只是在这个问题上挣扎了大约 2 个小时的结果。

于 2010-08-11T22:20:36.137 回答
1

Centos 5.5 ImageMagick 是遗留的,所以从源代码安装可以使用 rmagick。

获取源 RPM

wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/SRPMS/ImageMagick.src.rpm
rpm -ivh --nomd5 ImageMagick.src.rpm
cd /usr/src/redhat/SPECS
rpmbuild -ba ImageMagick.spec

可能你会得到以下依赖错误:

  • perl-开发
  • 碧玉发展
  • djvulibre-devel

添加到您的 /etc/yum.repos.d/dag.repo

[dag]
name=Dag RPM Repository for CentOS5
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/
enabled=0
gpgcheck=1

然后导入 GPG 密钥并安装 djvulibre-devel

rpm --import http://ftp.riken.jp/Linux/dag/RPM-GPG-KEY.dag.txt
yum --enablerepo=dag install djvulibre-devel

然后检查是否可以制作 RPM:

rpmbuild -ba ImageMagick.spec

如果你得到 perl-devel 依赖错误。

yum install perl

然后编辑 ImageMagick.spec 并将“ perl-devel ”替换为“ perl ”,保存并再次 rpmbuild。

rpmbuild -ba ImageMagick.spec

所以安装其他依赖项:

yum install freetype
yum install gd-devel
wget http://www.osresources.com/files/centos-windows-fonts/msfonts.tbz
mkdir /usr/share/fonts/default/TrueType
tar xvjpf msfonts.tbz -C /usr/share/fonts/default/TrueType/

让我们安装它:

cd /usr/src/redhat/RPMS/i386
rpm -Uvh ImageMagick-*

毕竟,您可以测试您的 RMagick 是否已安装:

ruby -rrubygems -e "require 'RMagick'; puts Magick::Long_version;"

基于:

hi.baidu.com/rainchen/blog/item/089ef7364497de320a55a9a3.html

mobile-dev.izanagi-izanami.net/blog/?p=48

于 2011-01-20T19:22:49.517 回答
0

RHEL 5.4通过临时符号链接/usr/local/bin/Magick-config解决了这个问题/usr/bin/Magick-conf,所以 gem install 可以找到这个 Magick-config 可执行文件。

就我而言,我使用--prefix=/usr/local. 出于某种原因,gem install 不想在那里查找配置,即使使用gem install --local ../rmagick-2.12.2.gem -- -with-opt-dir=/usr/local/bin. 运行yum install ImageMagick-devel会在那里得到二进制文件,但是 gem install 会说 ImageMagick 是错误的版本。

于 2010-03-11T21:47:45.443 回答