7

当我尝试安装 rmagic 时:

gem install rmagic

它给出了错误:

Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

    /home/biske/.rbenv/versions/2.0.0-p247/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... no

Can't install RMagick 2.13.2. Can't find MagickWand.h.
*** 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=/home/biske/.rbenv/versions/2.0.0-p247/bin/ruby


Gem files will remain installed in /home/biske/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rmagick-2.13.2 for inspection.
Results logged to /home/biske/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rmagick-2.13.2/ext/RMagick/gem_make.out

我试图搜索问题,发现我缺少 libmagickwand-dev。我尝试使用以下方式安装它:

sudo apt-get install libmagickwand-dev

但它会引发错误:

The following packages have unmet dependencies:
 libmagickwand-dev : Depends: libmagickcore-dev (= 8:6.7.7.10-5ubuntu2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

如果我尝试安装它:

sudo apt-get install libmagickcore-dev

它给出了错误:

The following packages have unmet dependencies:
 libmagickcore-dev : Depends: librsvg2-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

如果我尝试安装它:

sudo apt-get install librsvg2-dev

它给出了错误:

The following packages have unmet dependencies:
 librsvg2-dev : Depends: libglib2.0-dev (>= 2.24.0) but it is not going to be installed
                Depends: libgdk-pixbuf2.0-dev (>= 2.23.5-2) but it is not going to be installed
                Depends: libcairo2-dev (>= 1.2.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

如果我尝试使用以下命令安装 libglib2.0-dev:

sudo apt-get install libglib2.0-dev

它给出了错误:

The following packages have unmet dependencies:
 libglib2.0-dev : Depends: libglib2.0-0 (= 2.36.0-1ubuntu1) but 2.36.0-1ubuntu2 is to be installed
                  Depends: libglib2.0-bin (= 2.36.0-1ubuntu1)
E: Unable to correct problems, you have held broken packages.

如果我安装 libglib2.0-0 :

sudo apt-get install libglib2.0-0

它给:

libglib2.0-0 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

如果我安装 libglib2.0-bin :

sudo apt-get install libglib2.0-bin

它给:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
libglib2.0-bin is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

这两个库已安装但再次发布:

sudo apt-get install libglib2.0-dev

它给出了同样的错误:

The following packages have unmet dependencies:
 libglib2.0-dev : Depends: libglib2.0-0 (= 2.36.0-1ubuntu1) but 2.36.0-1ubuntu2 is to be installed
                  Depends: libglib2.0-bin (= 2.36.0-1ubuntu1)
E: Unable to correct problems, you have held broken packages.

这里可能有什么问题?

我正在使用 Ubuntu 13.04、rbenv、ruby 2.0.0,如果这很重要的话。

4

6 回答 6

16

试试这个

首先安装imagemagick

sudo apt-get install imagemagick

进而

sudo apt-get install libmagickwand-dev
于 2013-08-18T01:09:01.857 回答
14

解决方案是在可以找到这些库的地方添加 ppa。

添加PPA:

sudo add-apt-repository ppa:ricotz/testing

然后更新包列表:

sudo apt-get update

最后安装它:

sudo apt-get install libmagickwand-dev
于 2013-08-27T20:26:21.553 回答
3

尝试清除您的 apt 存储库并首先删除任何损坏的软件包:

sudo apt-get update
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove

如果系统识别出任何损坏的包裹,请强制移除它们(替换package_name为您自己的):

sudo dpkg --remove -force --force-remove-reinstreq package_name

然后再次重新安装任何丢失的软件包。

于 2013-08-17T23:56:50.360 回答
0

你只需要安装:

sudo apt-get install libmagickwand-dev
于 2014-04-02T14:38:46.370 回答
0

这是这个博客上的一个很好的例子

以下命令将解决您的问题。它帮助我安装了rmagick

sudo apt-get install libdjvulibre-dev libjpeg-dev libtiff-dev libwmf-dev libmagickcore-dev libmagickwand-dev libmagick++-dev
于 2014-06-05T05:05:00.630 回答
0

这对我有用:

  1. sudo apt-get install libcairo2=1.14.6-1 --reinstall
  2. sudo apt-get install libmagickwand-dev
  3. 须藤宝石安装 rmagick
于 2017-01-03T22:04:25.153 回答