Erreur lors de l’installation de rmagick: ERREUR: Impossible de construire l’extension native gem

J’essaie d’exécuter un projet sur ma machine locale. J’ai installé Ruby and Rails sur mon système Mac OS. Il fonctionne correctement. Je peux créer un nouveau projet et le lancer correctement sans erreur, mais lorsque j’essaie d’exécuter le projet existant, il indique que nous devons bundle install . Lorsque je lance cette commande, j’obtiens l’erreur suivante:

 "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." 

Lorsque je lance gem install rmagick -v '2.13.2' cela me donne l’erreur suivante:

 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 

J’ai cherché et n’ai trouvé aucune réponse nulle part.

Pour Ubuntu, j’ai utilisé le ff. basé sur ce lien :

 $ sudo apt-get install libmagick++-dev 

Sur un mac (le code ci-dessous fonctionne sur OSX Mavericks):

 brew install imagemagick gem install rmagick 

Sur Mac, vous pouvez essayer ceci:

 $ brew unlink imagemagick $ brew install imagemagick@6 && brew link imagemagick@6 --force $ gem install rmagick 

J’ai résolu ce problème en installant imagemagic:

 sudo apt-get install imagemagick 

puis installez le paquet libmagick:

 sudo apt-get install libmagick++-dev 

Pour linux fedora, j’ai eu la même erreur et corrigé avec deux commandes ci-dessous:

 yum install ImageMagick gem install rmagick 

Pour Centos, installez le package ImageMagick-devel . en utilisant les commandes ci-dessous:

 yum install ImageMagick-devel gem install rmagick 

Merci.

Tout d’abord, assurez-vous d’avoir installé Imagemagick :

 $ sudo apt-get install imagemagick 

Maintenant, il peut construire l’extension native de gem.

Ensuite, installez le joyau Rmagick :

 $ sudo gem install rmagick 

voici ce que j’ai fait le 16.04,

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

puis installez gem comme ça

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

Selon le journal des erreurs, il semble que “Magick-config” soit manquant. Vous devez installer ImageMagik ou GraphicsMagick. Voici les commandes à suivre, extraites de la documentation de 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-xxx - ./configure --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 - make - sudo make install - sudo gem install rmagick 

Il suffit d’installer le package ImageMagick-devel et tout devrait bien se passer 🙂

Solution pour 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

Peut-être que vous installez ImageMagick version 7.xx qui générera différents noms de dossiers dans votre dossier usr/lib/local/include/ImageMagick7.xx . Par exemple

Dans la version ImageMagick6.xx, nous avons des dossiers nommés magick , wand , dans lesquels la version de ImageMagick7.xx a nommé ce MagickCore , MagickWand . Donc, cette mise à jour pose problème dans certaines installations comme ici. Qui utilise magick/some_header.h ou wand/some_header.h (signifie qu’ils ne sont pas mis à jour avec la nouvelle version 7.xx ImageMagick). C’est pourquoi nous obtenons cette erreur:

“ `

 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 

“ `

et dans le fichier journal quelque chose comme ceci:

 error: 'MagickCore/method-atsortingbute.h' file not found #include "MagickCore/method-atsortingbute.h" ^ 

Solution

Installez la version ImageMagick6.xx sur votre système à partir du site officiel: https://www.imagemagick.org/download/ et installez-la en utilisant ces commandes (après l’extrait zip / tar):

 ./configure make make install 

Alors fais

gem install rmagick

Ça va marcher.

Pour Ubuntu Server, je l’ai installé en procédant comme suit:

 sudo apt-get install imagemagick sudo apt-get install libmagick++-dev sudo gem install rmagick -v '2.15.4' 

lancez d’abord ceci: sudo apt-get install imagemagick

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

installez maintenant rmagick: gem install rmagick

Si vous utilisez openSUSE, vérifiez d’abord si ImageMagick installé ou non. S’il est installé, installez le fichier d’en-tête de développement.

 [arup@sztukajedzenia]$ 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 [arup@sztukajedzenia]$ 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 ........ 

Vous devez exécuter à la fois la commande pour Ubuntu

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

Ensuite, essayez d’installer

 gem install rmagick 

Pour les utilisateurs de Mac, installez imagemagick 6 car la dernière version 7 n’est pas compatible.

 brew install imagemagick@6 gem install rmagick 

Ce qui précède devrait fonctionner après avoir désinstallé ce que vous avez déjà.

Pour Fedora 27, j’ai résolu ce problème:

 sudo dnf install ImageMagick-devel ImageMagick gem install rmagick