Rails: 安装rmagick出错 - ERROR: 无法构建本地扩展宝石

65

我正在尝试在我的本地机器上运行一个项目。我已经在我的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

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


2
你需要按照这个答案的说明安装rmagick的开发库。 - Jack Bracken
20个回答

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

以上命令可用于安装ImageMagick工具,并进行配置。

2

首先运行以下命令:

sudo apt-get install imagemagick

然后运行以下命令:

sudo apt-get install libmagick++-dev

现在安装rmagick:

gem install rmagick

2

只需运行这些命令

• $ sudo apt-get install imagemagick
• $ sudo apt-get install libmagick++-dev
• $ sudo gem install rmagick
• $ bundle install

1
对于Ubuntu服务器,我通过以下方式进行安装:

sudo apt-get install imagemagick

sudo apt-get install libmagick++-dev

sudo gem install rmagick -v '2.15.4'

如果你遇到了 mkmf.rb 找不到 /usr/lib/ruby/include/ruby.h 的头文件错误,那么你可能还需要运行 sudo apt-get install ruby-all-dev。 - Gary

1

对我来说,这里都是错的 :(

这个有帮助:

sudo apt-get install libmagickwand-dev

根据 rmagick github页面 的说明

然后 bundle install 就没有出现错误了


1

只需安装ImageMagick-devel软件包,一切就应该没问题了 :)


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

0

你需要在Ubuntu上运行这两个命令

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

然后尝试安装

gem install rmagick

0

对于 Fedora 27,我解决了这个问题:

sudo dnf install ImageMagick-devel ImageMagick
gem install rmagick

0
对于Mac用户,请安装ImageMagick 6,因为最新版本7不兼容。
brew install imagemagick@6
gem install rmagick

在卸载您已经安装的内容之后,上述操作应该可以正常工作。


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