La mise à jour de RMagick et Imagemagick est une expérience douloureuse. J'ai mis à jour la version Imagemagick sur mon mac (MacOS El Capitan Version 10.11.5) avec homebrew pour un projet dans Ruby 2.3 à6.9.5-9
$ convert --version
Version: ImageMagick 6.9.5-9 Q16 x86_64 2016-09-09
Maintenant, un projet plus ancien dans Ruby 1.8.7 refuse de fonctionner avec le message d'erreur "cette installation de RMagick a été configurée avec ImageMagick 6.8.9 mais ImageMagick 6.9.5-9 est en cours d'utilisation". J'ai donc désinstallé "rmagick", mais il ne peut pas être réinstallé
$ 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 s'il ne peut pas être installé, toute l'application ne peut pas être démarrée. J'ai essayé toutes les réponses d' ici , et aucune d'elles ne fonctionne sur MacOS :-( J'ai réinstallé imagemagick et pkg-config avec homebrew, et essayé diverses versions de RMagick sans succès. 2.16.0 est la dernière version de RMagick actuellement.
MagicWand semble être utilisé dans la version ImageMagick> 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
Cela ne fonctionne pas même si je spécifie ces chemins lors de l'installation du gem (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
METTRE À 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 semblent pas compatibles.
- Rubis 1,8,7 x
- Ruby 2.0.0 ✓
- Rubis 2.3.1 ✓
la source
Réponses:
Pour résoudre le problème dans Mac OSX Sierra, High Sierra, El Capitan, Mojave et Catalina , vous pouvez effectuer les opérations suivantes:
imagemagick@6
estkeg-only
, vous devrez donc forcer la liaison.la source
brew unlink imagemagick
avant le lien - mais cela a fonctionné. Merci beaucoup.Wand
erreur sur macOS.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 accidentellement supprimé votreimagemagick@6
ou si vous ne l'avez jamais installé en premier lieu.la source
brew install imagemagick@6 && brew link imagemagick@6 --force
résolu pour moibrew install --force imagemagick@6 && brew link imagemagick@6 --force
Using 6.9.8 Q16 from /usr/local/Cellar/imagemagick@6/6.9.8-3. checking for outdated ImageMagick version (<= 6.4.9)... yes 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.15.0. Can't find MagickWand.h.
macOs Sierra:
la source
Tout d'abord, dissociez votre imagemagick installé qui n'a pas été correctement installé dans le dernier mac high sierra en utilisant.
puis installez le dernier imagemagic6 en utilisant la commande ci-dessous
Ensuite, installez gem rmagick en utilisant la commande ci-dessous
Cela fonctionnera parfaitement bien.
la source
yah celui-ci résout mon problème:
MacOS X Sierra:
la source
Beaucoup de choses ont changé dans ImageMagick 7 comme ce chemin:,
include/.../wand
etwand/MagickWand.h
:, est câblé dans le gem rmagic pour le moment. Dans mon cas, il n'a pas été possible de mettre à jour la gemme car le projet est assez ancien. J'ai donc fini par installer une ancienne version 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
la source
Quelque chose a changé avec ImageMagick 7.0.4-4 pour moi.
wand/MagickWand.h
ne pouvait plus être trouvé:J'avais toujours ImageMagick 6.9.7-3 sur mon système et je l'ai changé avec
Ensuite, j'ai pu installer
rmagick
sans problème:la source
RMagick dépend d'une version obsolète d'imagemagick, la version 6. (voir ci-dessous) Homebrew propose cela sous forme de package uniquement en fût, que vous pouvez installer avec:
La sortie de la construction comprendra une section Avertissement (également disponible à partir de
brew info imagemagick@6
si vous avez effacé la sortie):Plutôt que la force de liaison, qui a le potentiel de causer des problèmes avec d' autres logiciels qui ne supporte les versions les plus récentes de ImageMagick, vous pouvez utiliser le suggéré
export
de faire le joyau RMagick ramasser l'ancienne version alors qu'il construit:la source
la source
pkg-config
et cela a fonctionné.Je n'ai pas encore la réputation de laisser cela comme un commentaire améliorant une autre réponse, mais la réponse de @ Evgeniy28 n'a fonctionné pour moi sur Sierra qu'après avoir également installé pkg-config, qui n'est pas installé par défaut sur une nouvelle machine Sierra.
Alors:
Succès:
la source
Veuillez suivre ci-dessous et changer une partie en fonction de vos besoins.
la source
Installez imagemagick version 6 car la version 7 n'est pas compatible:
$ brew install imagemagick@6
Ne devrait pas lier - force l'ancienne version car cela changera les binaires dans votre chemin et le bon
brew doctor
se plaindra.Référencez les en-têtes et les bibliothèques de la version 6 qui ont été installés lors de la construction de l'extension native du gem:
$ PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick@6/6.9.10-14/lib/pkgconfig/ gem install rmagick -v '2.16.0'
Remarque: a fonctionné pour moi sans indiquer le dossier lib et include car pkgconfig en est responsable.
Remarque: 6.9.10-14 est la dernière version d'imagemagick @ 6, mais n'hésitez pas à la changer si vous devez utiliser une autre version
la source
à la version 7.0.7-1, vous pouvez créer un lien symbolique, mais la compilation échouera plus tard.
la source
Voici comment j'ai résolu (après de nombreux essais et échecs) sur macOS High Sierra 10.13.3 avec Homebrew:
brew uninstall imagemagick
gem install rmagick
Si vous avez déjà installé une ancienne version d'Imagemagick, cela devrait fonctionner: https://stackoverflow.com/a/41674363
la source
Il n'est pas nécessaire de lier ou de dissocier quoi que ce soit, suivre les instructions du script d'installation de brew aide:
la source
Vous avez la même erreur pour la construction d'image alpine 3.9. Il est livré avec ImageMagick 7.0.8.38-r0
Pour résoudre ce problème, vous utilisez soit Alpine 3.5 avec ImageMagick 6.9.6.8-r1 :
Ou installez ImageMagick 6.9.6.8-r1 avec le référentiel de packages pour 3.5:
Il existe un problème ouvert dans le référentiel rmagick concernant les versions ayant échoué pour ImageMagick 7.0.x. alors j'espère qu'il sera bientôt corrigé.
la source
Quelque chose n'allait pas du tout sur mon système, à tel point qu'il était complètement f * d, mais j'ai finalement pu réinstaller RMagick pour Ruby 1.8.7 après avoir installé
L'installation d'une nouvelle version de Ruby avec RVM a
rvm install 1.8.7
également installé un nouveau compilateur GCC: il a supprimé une ancienne version 4.6 de GCC et installé la version 4.9 de GCC. Apparemment, GCC n'a pas pu trouver les bons en-têtes malgré pkg-config.la source
J'explique en détail le processus d'installation dans ImageMagick installer dans centos .
de toute façon ...
après l'installation Installez la bibliothèque PHP Imagick & ImageMagick-devel & ImageMagick comme ci-dessous:
aller dans / usr / include
Important: copiez le dossier ImageMagick de "/ usr / include" vers "/ usr / local / include" pour ImageMagick trouver "MagickWand.h"
J'ai testé ce changement sur imagick-3.4.3 (ImageMagick-7) et centos 6.5 et php56 et fonctionne parfaitement ...
Si vous avez déjà installé "ImageMagick" plusieurs fois, supprimez-les d'abord tous et trouvez les dossiers "ImageMagick" et "imagick", nettoyez-les tous et poursuivez le processus d'installation avec ce changement.
Utilisez la commande suivante pour rechercher un fichier ou un dossier:
et continuez votre installation
avant les lignes ci-dessous n'oubliez pas: allez dans "php.ini" trouvez "disable_functions" et nettoyez "proc_open, popen, proc_close" parce que faire imagick a besoin de ces fonctions, après l'installation complète vous pouvez ajouter ces fonctions à votre " disable_functions "sur le fichier" php.ini ".
Bonne chance...
la source
Pour la version Ubuntu> 12 et n'utilisant pas homebrew,
Si vous obtenez des fichiers '7z' au lieu de fichiers 'tar.gz' dans le lien wget, alors
Ensuite, vous pouvez reprendre votre bundler pour RMagick.
la source
Tout d'abord, vous n'avez pas besoin de désinstaller imagemagick si un 6.x est installé, comme illustré ci-dessous. Vous pouvez voir que le "principal" actuel est
7.0.7-8
mais6.9.1-10
est toujours là.Si vous ne disposez pas d'une ancienne version 6.x, alors installer ImageMagick @ 6.
Deuxièmement, ne forcez pas le lien imagemagick, surtout pas 6. EDIT: Voir ¹
Vous devez définir PKG_CONFIG_PATH en plus des indicateurs --with-opt- *.
Cela fonctionne pour moi sur High Sierra avec la configuration de brassage susmentionnée sur Ruby 1.9.3-p551:
Construire des documents ri échoue, mais ceux-ci sont sans conséquence.
¹: La construction fonctionne, le chemin dylib que RMagick recherche est erroné. Problème n ° 278 soulevé pour clarifier si cela peut être corrigé. Sinon, une liaison symbolique manuelle de libMagickWand, etc. est nécessaire. Peut-être encore plus sûr de lier manuellement les bibliothèques spécifiques que
brew link --force
si.la source