我在Centos 5上安装RMagick rubygem时遇到问题。我按照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但我无法看到rubygems。我尝试了以下但结果是一样的:
sudo gem install rmagick -- --with-opt-dir=/usr/local/bin
任何建议都将不胜感激。
答案 0 :(得分:41)
我最近将ImageMagick 6.5.4.7从CentOS6向后移植到CentOS5,所以现在安装rmagick会更容易:
rpm -Uvh http://rbel.co/rbel5
yum install ImageMagick-devel ImageMagick-c++-devel
gem install rmagick
答案 1 :(得分:25)
所以我终于设法安装了rmagick rubygem的1.15.17版本!这是我做的:
sudo yum install ImageMagick
sudo yum install ImageMagick-devel
curl -O http://www.zacharywhitley.com/linux/rpms/fedora/core/6/i386/msttcorefonts-2.0-1.noarch.rpm
sudo rpm -ivh msttcorefonts-2.0-1.noarch.rpm
ln -s /usr/share/fonts/msttcorefonts/ /usr/share/fonts/default/TrueType
sudo gem install rmagick -v 1.15.17 --no-rdoc --no-ri
来自David Bock和Will的博客条目非常宝贵。
答案 2 :(得分:9)
answer from rubiojr为我工作,但rbel.co此刻正在下降。您可以改用rbel.frameos.org:
rpm -Uvh http://rbel.frameos.org/rbel5
yum install ImageMagick-devel ImageMagick-c++-devel
gem install rmagick
答案 3 :(得分:3)
如果所有其他方法都失败了,通常可以从源代码构建和安装ImageMagick。
编辑:查看相关问题,我看到以下内容:
在某些平台(CentOS 5.2)上,我不得不安装特定版本的RMagick,因为我的软件包管理器(yum)的默认存储库只有旧版本的RMagick开发库。我通过以下方式安装了此版本:
gem install rmagick -v 1.15.13
答案 4 :(得分:1)
按照最多投票答案中的说明继续收到此错误:
RMagick: unable to read font `(null)'.
所以我有一些东西可以添加到第7步,取自David Bock博客的更新:
gem install rmagick -v 1.15.17 --no-rdoc --no-ri -- --disable-htmldoc
如果您的字体文件使rmagick不满意,则禁用html文档对于避免进一步的错误至关重要。只是大约2个小时的努力与这个问题的结果。
答案 5 :(得分: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
可能是因为:
会产生依赖性错误添加到您的/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
答案 6 :(得分:0)
我通过暂时将RHEL 5.4
符号链接到/usr/local/bin/Magick-config
,在/usr/bin/Magick-conf
中解决了这个问题,因此gem install可以找到这个Magick-config可执行文件。
就我而言,我使用--prefix=/usr/local
从源代码安装了ImageMagick。出于某种原因,即使使用gem install --local ../rmagick-2.12.2.gem -- -with-opt-dir=/usr/local/bin
,gem安装也不希望查找配置。运行yum install ImageMagick-devel
会在那里获得二进制文件,但是然后gem安装会说ImageMagick是错误的版本。