188 votes

Installation de RMagick: impossible de trouver MagickWand.h

La mise à jour de RMagick et Imagemagick est un douloureux expierence. J'ai mis à jour la version d'Imagemagick sur mon mac (MacOS El Capitan Version 10.11.5) avec homebrew pour un projet en Ruby 2.3 6.9.5-9

$ convert --version
Version: ImageMagick 6.9.5-9 Q16 x86_64 2016-09-09

Maintenant, un ancien projet en Ruby 1.8.7 refuse de travailler avec le message d'erreur "cette installation de RMagick a été configuré avec ImageMagick 6.8.9 mais ImageMagick 6.9.5-9 est en cours d'utilisation". Donc j'ai désinstallé "rmagick", mais il ne peut pas être installé de nouveau

$ gem install rmagick -v 2.16.0
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
ERROR: Failed to build gem native extension.

checking for /usr/local/opt/gcc46/bin/gcc-4.6... yes
checking for Magick-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... no
checking for sys/types.h... no
checking for wand/MagickWand.h... no

Can't install RMagick 2.16.0. Can't find MagickWand.h. 

Et si elle ne peut pas être installé, l'ensemble de l'application ne peut pas être démarré. J'ai essayé toutes les réponses à partir d' ici, et aucun d'entre eux fonctionne sur MacOS :-( j'ai réinstallé imagemagick et pkg-config avec homebrew, et j'ai essayé différentes versions de RMagick sans succès. 2.16.0 est la dernière version de RMagick actuellement.

MagicWand semble être utilisé dans ImageMagick version > 6.9, et il peut être trouvé sur la machine:

find /usr/local -name MagickWand.h
=> /usr/local/Cellar/imagemagick/6.9.5-9_1/include/ImageMagick-6/wand/MagickWand.h

find /usr/local -name MagickWand.pc
=> /usr/local/Cellar/imagemagick/6.9.5-9_1/lib/pkgconfig/MagickCore.pc

Il ne fonctionne pas même si je spécifier le ces chemins lors de la gem install (même erreur que ci-dessus) :-(

C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.9.5-9_1/include/ImageMagick-6 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gem install rmagick

Mise à JOUR:

L'erreur se produit uniquement pour Ruby 1.8.7, il est possible d'installer RMagick pour Ruby 2.0 et Ruby 2.3. Ruby 1.8.7 et ImageMagick 6.9.5 ne semble pas être compatible.

  • Ruby 1.8.7 x
  • Ruby 2.0.0 ✓
  • Ruby 2.3.1 ✓

519voto

Keen Learner Points 1054

Pour résoudre le problème dans Mac OSX Sierra, High Sierra, El Capitan et Mojave, vous pouvez procéder comme suit:

 brew unlink imagemagick
brew install imagemagick@6 && brew link imagemagick@6 --force
 

imagemagick@6 est keg-only , vous aurez donc besoin de forcer la liaison.

57voto

Raymond Cox Points 611

J'ai eu ce même problème avec ImageMagick 7.0.4-4 . Le correctif approprié consiste à installer imagemagick@6 . J'ai trouvé https://github.com/Homebrew/homebrew-core/pull/8756 utile si vous avez supprimé accidentellement votre imagemagick@6 ou si vous ne l'avez jamais fait installer en premier lieu.

33voto

Evgeniy28 Points 379

macOs Sierra:

 brew uninstall imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force
 

23voto

Ali Hassan Mirza Points 395

Tout d’abord, dissociez votre imagemagick installé qui n’a pas été correctement installé dans le dernier mac high sierra en utilisant.

 brew unlink imagemagick
 

puis installez le dernier imagemagic6 en utilisant la commande ci-dessous

 brew install imagemagick@6 && brew link imagemagick@6 --force
 

Puis installez gem rmagick en utilisant la commande ci-dessous

 gem install rmagick 
 

Cela fonctionnera parfaitement bien.

14voto

Beaucoup de choses ont changé dans ImageMagick 7, à l’instar de ce chemin: include/.../wand , et wand/MagickWand.h est câblé dans la gemme magmique pour le moment. Dans mon cas, il n’était pas possible de mettre à jour la gemme car le projet est plutôt ancien. J'ai donc fini par installer une version plus ancienne d'ImageMagic.

Vous pouvez installer la dernière version à partir de 6.xx:

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb

Vous pouvez également l'épingler pour une utilisation ultérieure: brew pin imagemagick

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X