63

我正在尝试在我的本地机器上运行一个项目。我在我的 Mac OS 系统上安装了 Ruby 和 Rails。它工作正常。我可以创建一个新项目并且可以正确运行它而不会出现任何错误,但是当我尝试运行现有项目时,它说我们必须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

我已经搜索并没有在任何地方找到答案。

4

20 回答 20

85

对于 Ubuntu,我使用了 ff. 基于此链接

$ sudo apt-get install libmagick++-dev
于 2014-06-03T02:40:28.250 回答
51

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

brew install imagemagick
gem install rmagick
于 2014-08-19T00:53:36.537 回答
44

在 Mac 上你可以试试这个:

$ brew unlink imagemagick
$ brew install imagemagick@6 && brew link imagemagick@6 --force
$ gem install rmagick 
于 2017-11-23T01:12:14.807 回答
13

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

sudo apt-get install imagemagick

然后安装 libmagick 包:

sudo apt-get install libmagick++-dev
于 2015-08-26T07:20:12.743 回答
9

For Linux Fedora, I got same error and fixed with below two commands:

yum install ImageMagick

gem install rmagick 

For Centos install ImageMagick-devel package. using below commands:

yum install ImageMagick-devel

gem install rmagick
于 2013-10-29T06:17:20.447 回答
7

首先,确保您已安装Imagemagick

$ sudo apt-get install imagemagick

现在,它可以构建 gem 原生扩展。

然后,安装Rmagickgem:

$ sudo gem install rmagick
于 2015-02-07T12:19:58.697 回答
6

这是我在 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'
于 2016-08-02T12:49:34.563 回答
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-x.x.x

- ./configure --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8

- make
- sudo make install

- sudo gem install rmagick
于 2013-10-09T14:33:11.310 回答
2

Ubuntu的解决方案:

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

于 2016-12-06T11:28:46.787 回答
2

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

在 ImageMagick6.xx 版本中,我们有magick,wand命名文件夹,在 ImageMagick7.xx 版本中命名为MagickCore, MagickWand。因此,此更新导致某些 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"
         ^

解决方案

从官方网站在您的系统中安装 ImageMagick6.xx 版本:https ://www.imagemagick.org/download/并使用以下命令安装它(解压缩 zip/tar 后):

./configure
make 
make install

然后做

gem install rmagick

它会起作用的。

于 2017-01-24T13:57:48.520 回答
2

只需运行这些命令

• $ sudo apt-get install imagemagick
• $ sudo apt-get install libmagick++-dev
• $ sudo gem install rmagick
• $ bundle install
于 2019-01-17T05:37:40.180 回答
2

首先运行这个: sudo apt-get install imagemagick

然后:sudo apt-get install libmagick++-dev

现在安装 rmagick:gem install rmagick

于 2018-01-25T08:35:31.760 回答
1

只需安装 ImageMagick-devel 包,一切都应该没问题:)

于 2013-12-26T10:39:27.480 回答
1

对我来说这里都错了:(

这有助于:

sudo apt-get install libmagickwand-dev

根据rmagick github页面

然后捆绑安装没有错误

于 2019-10-03T08:42:12.887 回答
1

对于 Ubuntu Server,我通过以下方式安装它:

sudo apt-get install imagemagick

sudo apt-get install libmagick++-dev

sudo gem install rmagick -v '2.15.4'
于 2016-11-25T12:26:50.037 回答
1

在Ubuntu 20.04中设置Rails 6应用程序时,我遇到了同样的问题。

这是我解决它的方法

RMagickRuby编程语言和ImageMagick图像处理库之间的接口。所以我们首先需要为ImageMagick安装开发库:

第 1 步

Ubuntu上,您可以运行:

sudo apt-get install libmagickwand-dev

Centos上,您可以运行:

sudo yum install gcc ImageMagick-devel make which

Arch Linux 上,您可以运行:

pacman -Syy pkg-config imagemagick

Alpine Linux 上,您可以运行:

apk add pkgconfig imagemagick imagemagick-dev imagemagick-libs

或者如果你想使用 ImageMagick 6,你可以运行:

apk add pkgconfig imagemagick6 imagemagick6-dev imagemagick6-libs

macOS 上,您可以运行:

brew install pkg-config imagemagick

或者如果你想使用 ImageMagick 6,你可以运行:

brew install pkg-config imagemagick@6

Windows上:

  1. 安装可以从RubyInstaller for Windows获得的最新 Ruby+Devkit 包。
  2. 您可能需要将PATH环境变量配置为编译器所在的位置。(例如set PATH=C:\Ruby27-x64\msys64\usr\bin;C:\Ruby27-x64\msys64\mingw64\bin;%PATH%:)
  3. 从Windows Binary Release下载ImageMagick-7.XXXX-Q16-x64-dll.exe(不是,ImageMagick-7.XXXX-Q16-x64-static.exe)二进制文件,或者您可以从Windows Binary Release下载 ImageMagick 6 。
  4. 安装 ImageMagick。您需要打开复选框Add application directory to your system pathInstall development headers and librarries for C and C++在 RMagick 的安装程序中。

第 2 步

安装RMagick ruby​​ gem:

gem install rmagick

第 3 步

现在您可以将RMagick ruby​​ gem 添加到您的Gemfile

gem 'rmagick', '~> 4.1'

注意:在撰写本文时,最新版本是4.1

第 4 步

最后,您可以运行bundle install以将 gem 安装到您的应用程序中。

资源rmagick/rmagick GitHub 页面

就这样。

我希望这有帮助

于 2021-02-03T08:57:42.740 回答
0

如果您使用的是 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
  ........
于 2015-01-17T07:07:54.987 回答
0

For Fedora 27 I resolved this problem:

sudo dnf install ImageMagick-devel ImageMagick
gem install rmagick
于 2017-11-24T13:42:56.847 回答
0

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

brew install imagemagick@6
gem install rmagick

在您卸载已有的内容后,上述内容应该可以工作。

于 2017-03-07T21:04:23.977 回答
0

您需要同时运行 ubuntu 的命令

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

然后尝试安装

gem install rmagick
于 2016-04-09T09:18:38.630 回答