2013-10-09 119 views
48

我想在本地機器上運行一個項目。我在我的Mac OS系統上安裝了Ruby和Rails。它工作正常。我可以創建一個新項目,並且可以正確運行而不會出現任何錯誤,但是當我嘗試運行現有項目時,它說我們必須bundle install。當我運行該命令我碰到下面的錯誤:安裝rmagick時出錯:錯誤:無法構建gem原生擴展

"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/[email protected]/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/[email protected]/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

您需要按照[this]安裝rmagick的開發庫(http://stackoverflow.com/questions/5201689/rmagick-gem-install-cant-find-magick-config)。 –

回答

2

根據錯誤日誌,它看起來像「Magick-config」丟失。 您需要安裝ImageMagik或GraphicsMagick。這些都是從RMagik Documentation取你應該遵循的命令:

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 
9

對於Linux的Fedora的,我得到了同樣的錯誤,並固定有以下兩條命令:

yum install ImageMagick 

gem install rmagick 

爲CentOS安裝的ImageMagick-devel的包。使用以下命令:

yum install ImageMagick-devel 

gem install rmagick 

謝謝。

1

只需安裝ImageMagick的-devel包,一切都應該罰款:)

66

對於Ubuntu的,我用的是FF。在此基礎上link

$ sudo apt-get install libmagick++-dev 
+4

安裝此lib後仍然存在錯誤。 –

+0

它爲我工作! – Tintin81

+0

以下軟件包具有未滿足的相關性: libmagick ++ - dev:取決於:libmagick ++ - 6.q16-dev但它不會被安裝 – Unkas

46

在Mac上(下面的代碼工作在OSX小牛):

brew install imagemagick 
gem install rmagick 
+0

爲了清晰起見編輯。這對我很有幫助,下面的@Anand Soni解釋了爲什麼你首先得到錯誤。 – AndyBean

+2

和優勝美地,ITH。 –

+2

和El Capitan。 – Spidey

0

如果您使用openSUSE的,則首先檢查是否安裝或不ImageMagick。如果已安裝,那麼請安裝開發頭文件。

[[email protected]]$ 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 
[[email protected]]$ 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 
    ........ 
7

首先,確保你已經安裝Imagemagick

$ sudo apt-get install imagemagick 

現在,它可以建立寶石原生擴展。

然後,安裝Rmagick寶石:

sudo apt-get install imagemagick 

,然後安裝libmagick包:

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

在新安裝的Ubuntu 17.04上安裝'imagemagick'是不夠的。我還需要安裝'libmagick ++ - dev'作爲@Sirajus Salayhin的評論 – piratemurray

12

我已通過安裝imagemagic解決了這個問題運行這兩個命令爲ubuntu

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

然後嘗試安裝

gem install rmagick 
0

您需要

$ sudo gem install rmagick 
3

這裏就是我做了16.04,

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

,然後安裝寶石一樣,

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

對於Ubuntu的服務器,我安裝它通過這樣做:

sudo apt-get install imagemagick 

sudo apt-get install libmagick++-dev 

sudo gem install rmagick -v '2.15.4' 
+0

也許還需要sudo apt-get install ruby​​-all-dev如果出現錯誤mkmf.rb在/ usr/lib找不到ruby的頭文件/ruby/include/ruby.h – Gary

1

解決方案的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

1

可能是你正在安裝ImageMagick的版本7.x.x這將產生在你的文件夾usr/lib/local/include/ImageMagick7.x.x不同的文件夾名稱。 例如

在ImageMagick6.x.x版本中,我們有magickwand命名的文件夾,其中ImageMagick7.x.x版本命名這個MagickCoreMagickWand。所以這個更新導致了像這裏那樣的一些寶石安裝中的問題。這是使用 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

它會工作。

0

對於mac用戶,請安裝imagemagick 6,因爲最新版本7不兼容。

brew install [email protected] 
gem install rmagick 

以上應該在卸載已有的東西后才能正常工作。

6

在Mac上,你可以試試這個:

$ brew unlink imagemagick 
$ brew install [email protected] && brew link [email protected] --force 
$ gem install rmagick 
+0

這對我來說是正確的答案。我安裝的'rmagick'與'imagemagick @ 7.x'不兼容,'brew'默認會安裝,如果您只是發出'brew install imagemagick' – Drew

0

於Fedora 27我解決了這個問題:

sudo dnf install ImageMagick-devel ImageMagick 
gem install rmagick 
0

第一次運行這個: sudo apt-get install imagemagick

則:sudo apt-get install libmagick++-dev

現在安裝rmagick:gem install rmagick

相關問題