安装rmagick时出错:错误:无法构buildgem原生扩展

我正试图在本地机器上运行一个项目。 我在我的Mac OS系统上安装了Ruby和Rails。 它工作正常。 我可以创build一个新的项目,并可以正常运行,没有任何错误,但是当我尝试运行现有的项目时,说我们必须bundle install 。 当我运行该命令时,出现以下错误:

 "An error occurred while installing rmagick (2.13.2), and Bundler cannot continue. Make sure that `gem install rmagick -v '2.13.2'` succeeds before bundling." 

当我运行gem install rmagick -v '2.13.2' ,会出现以下错误:

 ERROR: Error installing rmagick: ERROR: Failed to build gem native extension. /usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby extconf.rb checking for Ruby version >= 1.8.5... yes checking for gcc-4.2... yes checking for Magick-config... no Can't install RMagick 2.13.2. Can't find Magick-config in /usr/local/rvm/gems/ruby-1.9.3-p392/bin:/usr/local/rvm/gems/ruby-1.9.3-p392@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p392/bin:/usr/local/rvm/gems/ruby-1.9.3-p392/bin:/usr/local/rvm/gems/ruby-1.9.3-p392@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p392/bin:/usr/local/rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/sm/bin:/opt/sm/pkg/active/bin:/opt/sm/pkg/active/sbin *** 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/rvm/rubies/ruby-1.9.3-p392/bin/ruby Gem files will remain installed in /usr/local/rvm/gems/ruby-1.9.3-p392/gems/rmagick-2.13.2 for inspection. Results logged to /usr/local/rvm/gems/ruby-1.9.3-p392/gems/rmagick-2.13.2/ext/RMagick/gem_make.out 

我已经search,并没有在任何地方find答案。

对于Ubuntu,我使用了ff。 基于这个链接 :

 $ sudo apt-get install libmagick++-dev 

在Mac上(下面的代码适用于OSX Mavericks):

 brew install imagemagick gem install rmagick 

我已经通过安装imagemagic解决了这个问题:

 sudo apt-get install imagemagick 

然后安装libmagick包:

 sudo apt-get install libmagick++-dev 

对于Linux Fedora,我得到了同样的错误,并修复了以下两个命令:

 yum install ImageMagick gem install rmagick 

对于Centos安装ImageMagick-devel软件包。 使用下面的命令:

 yum install ImageMagick-devel gem install rmagick 

谢谢。

首先,确保你已经安装了Imagemagick

 $ sudo apt-get install imagemagick 

现在,它可以build立gem原生扩展。

然后,安装Rmagickgem:

 $ sudo gem install rmagick 

这是我在16.04做的,

 sudo apt-get install libmagickwand-dev sudo apt-get install graphicsmagick-imagemagick-compat 

然后像这样安装gem

 PATH="/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:$PATH" gem install rmagick -v '2.13.2' 

根据错误日志,它看起来像“Magick-config”丢失。 您需要安装ImageMagik或GraphicsMagick。 这些是您应该遵循的从RMagik文档中获取的命令:

 1) Go to http://www.imagemagick.org or http://www.graphicsmagick.org and download the latest version of the software to a temporary directory. the extract them : - tar xvzf ImageMagick.tar.gz - cd ImageMagick-xxx - ./configure --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 - make - sudo make install - sudo gem install rmagick 

只要安装ImageMagick-devel包,一切都应该是好的:)

Ubuntu的解决scheme:

sudo apt-get install imagemagick

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

可能是您正在安装ImageMagick版本7.xx,它将在您的usr/lib/local/include/ImageMagick7.xx文件夹中生成不同的文件夹名称。 例如

在ImageMagick6.xx版本中,我们有magickwand命名的文件夹,在ImageMagick7.xx版本中已经命名为这个MagickCoreMagickCore 。 所以这个更新导致这里的一些gem安装问题。 这是使用magick/some_header.hwand/some_header.h (意味着他们没有更新与新的7.xx ImageMagick版本)。这就是为什么我们得到这个错误:

“`

 checking for outdated ImageMagick version (<= 6.4.9)... no checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no .... checking for wand/MagickWand.h... no 

“`

并在日志文件中是这样的:

 error: 'MagickCore/method-attribute.h' file not found #include "MagickCore/method-attribute.h" ^ 

从官方站点: https ://www.imagemagick.org/download/安装ImageMagick6.xx版本并使用以下命令安装(在解压zip / tar之后):

 ./configure make make install 

然后做

gem install rmagick

它会工作。

如果您使用的是openSUSE,那么首先检查ImageMagick安装。 如果安装了,那么请安装开发头文件。

 [arup@sztukajedzenia]$ sudo zypper se imagemagic root\'s password: Loading repository data... Reading installed packages... S | Name | Summary | Type --+-------------------+-------------------------------------------------------+----------- i | ImageMagick | Viewer and Converter for Images | package | ImageMagick | Viewer and Converter for Images | srcpackage | ImageMagick-devel | Include Files and Libraries Mandatory for Development | package | ImageMagick-doc | Document Files for ImageMagick Library | package | ImageMagick-extra | Viewer and Converter for Images - extra codecs | package [arup@sztukajedzenia]$ sudo zypper in ImageMagick-devel root\'s password: Loading repository data... Reading installed packages... Resolving package dependencies... The following 2 NEW packages are going to be installed: ImageMagick-devel libbz2-devel ........ 

你需要为ubuntu运行这两个命令

 sudo apt-get install libmagick++-dev sudo apt-get install imagemagick 

然后尝试安装

 gem install rmagick 

对于Ubuntu服务器,我这样安装它:

 sudo apt-get install imagemagick sudo apt-get install libmagick++-dev sudo gem install rmagick -v '2.15.4' 

对于mac用户,安装imagemagick 6,因为最新版本7不兼容。

 brew install imagemagick@6 gem install rmagick 

上面应该在你卸载你已经有的东西之后工作。