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

use*_*141 59 ruby-on-rails

我想在我的本地机器上运行一个项目.我在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."
Run Code Online (Sandbox Code Playgroud)

当我运行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
Run Code Online (Sandbox Code Playgroud)

我搜索过,在任何地方都找不到答案.

Jon*_*han 81

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

$ sudo apt-get install libmagick++-dev
Run Code Online (Sandbox Code Playgroud)

  • 安装此lib后仍然存在错误. (4认同)

Nei*_*ham 48

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

brew install imagemagick
gem install rmagick
Run Code Online (Sandbox Code Playgroud)

  • 和Yosemite,ITH. (2认同)
  • 和埃尔卡皮坦. (2认同)

小智 38

在Mac上你可以试试这个:

$ brew unlink imagemagick
$ brew install imagemagick@6 && brew link imagemagick@6 --force
$ gem install rmagick 
Run Code Online (Sandbox Code Playgroud)

  • 这对我来说是正确的答案。我的`rmagick`安装与`imagemagick @ 7.x`不兼容,如果您仅发出`brew install imagemagick`,`brew`将默认安装。 (3认同)

Md *_*hin 13

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

sudo apt-get install imagemagick
Run Code Online (Sandbox Code Playgroud)

然后安装libmagick包:

sudo apt-get install libmagick++-dev
Run Code Online (Sandbox Code Playgroud)


Sum*_*not 9

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

yum install ImageMagick

gem install rmagick 
Run Code Online (Sandbox Code Playgroud)

对于Centos安装ImageMagick-devel包.使用以下命令:

yum install ImageMagick-devel

gem install rmagick
Run Code Online (Sandbox Code Playgroud)

谢谢.


Zak*_*ria 7

首先,确保你已安装Imagemagick:

$ sudo apt-get install imagemagick
Run Code Online (Sandbox Code Playgroud)

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

然后,安装Rmagickgem:

$ sudo gem install rmagick
Run Code Online (Sandbox Code Playgroud)


Jam*_*s M 5

这是我在16.04上所做的,

sudo apt-get install libmagickwand-dev
sudo apt-get install graphicsmagick-imagemagick-compat
Run Code Online (Sandbox Code Playgroud)

然后像这样安装gem

PATH="/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:$PATH" gem install rmagick -v '2.13.2'
Run Code Online (Sandbox Code Playgroud)


Ana*_*oni 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
Run Code Online (Sandbox Code Playgroud)