在Ubuntu 14.04上安装rmagick gem

13

我正在尝试在OpsWorks上部署应用程序,但安装rmagick gem时出现问题。我有以下操作系统包:

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)
7个回答

26

在你的终端中运行以下命令:

apt-get install libmagickwand-dev

更具体地说,请确保该命令在您要部署到的机器上运行,而不仅仅是在您的本地开发机器上运行。我猜您需要为此添加一个Chef“package”资源。 - David Grayson

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

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

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

现在您只需要使用以下命令在环境中设置bin目录即可:
PATH=$PATH:/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/

别忘了在行末删除Magick-config。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接