2014-09-29 291 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。