问题在CentOS安装RMagick ruby​​gem 5

问题描述:

我在安装在CentOS 5的RMagick ruby​​gem问题,我已经跟着http://rmagick.rubyforge.org/install2-linux.html的详细步骤,但是当我尝试:问题在CentOS安装RMagick ruby​​gem 5

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 

任何意见,将不胜感激。

所以,我终于成功地安装rmagick ruby​​gem的17年1月15日版本!下面是我所做的:

  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. 安装委托库
  8. sudo gem install rmagick -v 1.15.17 --no-rdoc --no-ri

来自David BockWill的博客条目是无价的。

+1

字体链接似乎不起作用,所以我按照http://www.go2linux.org/msttcorefonts-true-type-fonts-on-linux上的说明来安装字体。像魅力一样工作。 – 2010-03-25 00:54:54

+0

最后一步失败了,直到我添加了ruby头文件:sudo yum install ruby​​-devel – mveerman 2010-04-20 21:48:22

+0

为我工作,谢谢Keith&Beerlington。其实我遇到了更多的问题,Zend Server CE已经安装了一个不同版本的ImageMagick(没有devel,所以不能gem inst rmagick)在我的系统上。为了解决这个问题,我需要将LD_LIBRARY_PATH env变量正确设置为/ usr/lib(而不是ZSCE位置)并将其传递给apache。为了与乘客做到这一点,我已经将我的apache指令“PassengerRuby/usr/bin/ruby​​”转换为“PassengerRuby/usr/bin/ruby​​_env”并填充此文件: #!/ bin/sh export LD_LIBRARY_PATH =/usr/lib: exec“/ usr/local/bin/ruby​​”“$ @” – maraspin 2010-06-15 21:03:57

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

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

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

在某些平台(CentOS的5.2),我不得不安装RMagick的特定版本,因为默认库为我的包管理器(YUM)只有旧版本的RMagick devel库。我通过安装此版本:

gem install rmagick -v 1.15.13 
+0

我已经尝试安装上述建议的旧版本,但它与安装的软件包不兼容。然后,我根据http://rmagick.rubyforge.org/install2-linux.html的建议首先安装了代理,然后从源代码配置,构建并安装ImageMagick。 我能够从源代码安装RMagick,但我需要它作为RubyGem安装,因为我的Rails应用程序中存在依赖关系。我想知道的是如何强制gem install在/ usr/local/bin中找到Magick-config。 – 2009-08-10 13:21:53

+0

可能工作的肮脏的黑客是将它符号链接到它看起来的某个地方。然而,根据我的经验,一旦你通过Magick-config类型的问题,那么在别的地方会出现另一个错误 - 我认为根本原因通常没有一组兼容的软件包。在Ubuntu上,我首先删除了与ImageMagick相关的所有软件包,然后建立了一个似乎可以通过搜索其他人所做的以及试验和错误的工作集。就像你一样,我必须把它当作宝石,出于同样的原因。由于整个服务器构建都是自动化的,因此还必须从包中获取imagemagick。 – frankodwyer 2009-08-10 13:35:43

+0

感谢您的回复。您的意见鼓励我回到导致基于软件包成功安装1.15.17的路径上。 – 2009-08-11 00:28:15

我通过暂时符合/usr/local/bin/Magick-config/usr/bin/Magick-conf来解决此问题,因此gem install可以找到这个Magick-config可执行文件。

在我的情况下,我从源安装了ImageMagick与--prefix=/usr/local。出于某种原因,宝石安装不想在那里寻找配置,即使是gem install --local ../rmagick-2.12.2.gem -- -with-opt-dir=/usr/local/bin。运行yum install ImageMagick-devel会得到那里的二进制文件,但是然后gem install会说ImageMagick是错误的版本。

保持以下最投票回答的指示后,收到此错误:

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

,所以我想补充到第7步,从更新带到大卫·博克的博客:

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 

禁用html文档对于避免进一步的错误是至关重要的,如果你的字体文件使rmagick不高兴。只是大约2个小时的这个问题挣扎的结果。

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-devel的
  • 碧玉devel的
  • 中的djvulibre-devel的

添加到你的/etc/yum.repos.d/dag。回购

[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

我最近回迁的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

谢谢,包装很好地 – gerrit 2012-01-05 16:19:44

+0

惊人。谢谢一堆。我能够成功升级imagemagick并安装rmagick gem。 – 2012-02-15 16:18:49

+0

谢谢各位,Rmagick非常棒,但是当你试图在centos上安装它时很痛苦 – 2012-05-22 22:13:52

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