2014-09-29 510 views
13

我試圖在OpsWorks上部署一個應用程序,但安裝rmagick gem時出現問題。我有以下操作系統軟件包:在Ubuntu上安裝rmagick gem 14.04

libmagickwand-dev的ImageMagick的libmagickcore-dev的

下面是在部署過程中出現錯誤的日誌文件:

Gem::Ext::BuildError: 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 0.0.0. Can't find Magick-config in /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games 

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

extconf failed, exit code 1 

Gem files will remain installed in /home/deploy/.bundler/myapp/ruby/2.1.0/gems/rmagick-2.13.3 for inspection. 
Results logged to /home/deploy/.bundler/myapp/ruby/2.1.0/extensions/x86_64-linux/2.1.0/rmagick-2.13.3/gem_make.out 
An error occurred while installing rmagick (2.13.3), and Bundler cannot 
continue. 
Make sure that `gem install rmagick -v '2.13.3'` succeeds before bundling. 
STDERR: 
---- End output of sudo su - deploy -c 'cd /srv/www/myapp/releases/20140929182350 && /usr/local/bin/bundle install --path /home/deploy/.bundler/myapp --without=test development' 2>&1 ---- 
Ran sudo su - deploy -c 'cd /srv/www/myapp/releases/20140929182350 && /usr/local/bin/bundle install --path /home/deploy/.bundler/myapp --without=test development' 2>&1 returned 5 
[2014-09-29T18:24:08+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 

回答

26

在你的shell中運行以下命令:

apt-get install libmagickwand-dev 
+0

更具體地說,確保命令在您要部署到的計算機上運行;不只是你的本地開發機器。我想你需要爲它添加一個廚師「包」資源。 – 2014-09-30 17:48:02

3
sudo apt-get install libmagickwand5 libmagickwand-dev 
gem install rmagick -v 2.13.3 
8

將ubuntu升級到15.05後,我遇到了同樣的問題,有些Magick-config文件不在我的PATH中。 爲了解決這個問題我第一次發現的Magick-config

sudo find/-name "Magick-config"

這是/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config然後我它添加到路徑的位置。之後捆綁成功。

+1

我一直在Ubuntu 15上一直在努力解決同樣的問題。這終於奏效了,謝謝。 – Josh 2015-05-21 09:29:52

3

安裝ImageMagick的-dev的圖書館

Ubuntu的系統:sudo apt-get install libmagickwand-dev

RHEL系統:yum install ImageMagick-devel

的Mac:brew install imagemagick

2

在Ubuntu的14.04我還需要安裝libgmp-dev庫獲得工作新版rmagick 2.15.4版本:

sudo apt-get install libgmp-dev 

希望這有助於!

0

解決它永久我們可能只是做:

ln -s /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config /usr/bin/Magick-config 
0

我們需要尋找配置

sudo find/-name "Magick-config" 

你會得到輸出這樣的事情首先:

/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config 

現在您只需要在您的環境中使用以下設置垃圾箱位置:

PATH=$PATH:/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/ 

不要忘記從行尾移除Magick-config。