2009-08-10 160 views
16

我在安裝在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 

任何意見,將不勝感激。

回答

25

所以,我終於成功地安裝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

3

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

0

我通過暫時符合/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是錯誤的版本。

1

保持以下最投票回答的指示後,收到此錯誤:

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個小時的這個問題掙扎的結果。

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

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

謝謝,包裝很好地 – 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

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