web-dev-qa-db-fra.com

Rails et OS X: comment installer rmagick?

Je suis déjà complètement désespéré - j'ai passé toute la journée à essayer d'installer rmagick gem sur Mac OS X Lion, mais c'est littéralement une tragédie. J'ai vu de nombreux sujets similaires sur Google, mais rien ne m'a aidé.

J'ai essayé de désinstaller complètement imagemagick via brew et de l'installer à nouveau (cela fonctionne bien), puis d'installer le rmagick, mais chaque fois que j'essaie d'installer ce joyau, Je reçois cette erreur:

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

        /Users/adam/.rvm/rubies/Ruby-1.9.3-p327/bin/Ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
extconf.rb:128: Use RbConfig instead of obsolete and deprecated Config.
checking for clang... 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... yes
checking for InitializeMagick() in -lMagickCore... no
checking for InitializeMagick() in -lMagick... no
checking for InitializeMagick() in -lMagick++... no
Can't install RMagick 2.13.1. Can't find the ImageMagick library or one of the dependent libraries. Check the mkmf.log file for more detailed information.

*** 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
    --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=/Users/adam/.rvm/rubies/Ruby-1.9.3-p327/bin/Ruby
    --with-MagickCorelib
    --without-MagickCorelib
    --with-Magicklib
    --without-Magicklib
    --with-Magick++lib
    --without-Magick++lib


Gem files will remain installed in /Users/adam/.rvm/gems/Ruby-1.9.3-p327/gems/rmagick-2.13.1 for inspection.
Results logged to /Users/adam/.rvm/gems/Ruby-1.9.3-p327/gems/rmagick-2.13.1/ext/RMagick/gem_make.out

Peu importe si j'installe la gemme via Gemfile ou via Terminal, dans les deux cas, j'obtiens la même sortie d'erreur.

Ceci est la version de imagemagick: imagemagick-6.8.0-1.

Pourriez-vous me donner quelques conseils ou avancer, où pourrait être le problème? Merci beaucoup!

34
user984621

rmagick a un problème avec imagemagick (> = 6.8.0-10) de homebrew.

Vous pouvez soit

mettre à jour rmagick gem par

    bundle update rmagick

ou lier manuellement un symbole à un dylib pour le faire fonctionner:

    $ cd "`Magick-config --prefix`lib"
    $ ln -s libMagick++-Q16.7.dylib   libMagick++.dylib
    $ ln -s libMagickCore-Q16.7.dylib libMagickCore.dylib
    $ ln -s libMagickWand-Q16.7.dylib libMagickWand.dylib

Après ça gem install rmagick devrait marcher.

Consultez la discussion à ce sujet dans homebrew/issues/16625

Mise à jour: Merci @faraz pour la commande Nice one-liner:

cd "`Magick-config --prefix`/lib"; ln -s libMagick++-Q8.7.dylib libMagick++.dylib; ln -s libMagickCore-Q8.7.dylib libMagickCore.dylib; ln -s libMagickWand-Q8.7.dylib libMagickWand.dylib
73
taiansu

Mac OSX Sierra & Rails 5

brew unlink imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force
28
Ashik Salman

J'ai eu le même problème.

Si vous vérifiez le mkmf.log, vous verrez le message d'erreur suivant:

ld: library not found for -lgomp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
checked program was:
/* begin */
1: #include "Ruby.h"
2: 
3: int main() {return 0;}
/* end */\

Voici comment je l'ai résolu:

  1. Désinstallez la version actuelle d'ImageMagick:

    brew uninstall imagemagick

  2. Réinstallez imagemagick sans le support openmp (il s'agit de la bibliothèque responsable de lgomp):

    brew install imagemagick --disable-openmp

  3. Installez rmagick:

    gem install rmagick

C'est ça!

18
tiagotam

Si vous utilisez homebrew, il vous suffit de définir le PKG_CONFIG_PATH

brew install imagemagick
PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick//6.8.9-1/lib/pkgconfig/ gem install rmagick
7
Dan Draper

Essayez d'installer la version 6.7.7-6 d'imagemagick car la version 6.8.x casse la gemme rmagick.

cd /usr/local
git checkout 7d951fb /usr/local/Library/Formula/imagemagick.rb
brew install imagemagick
5
cdb

Depuis 2017, toutes les solutions suggérées ci-dessus ne semblent plus fonctionner, depuis que Homebrew est passé à ImageMagick 7.0.

Quelques solutions de contournement fournies ici. https://github.com/rmagick/rmagick/issues/256

Je viens de passer à ImageMagick 6.9.7-3 et gem install rmagick a bien fonctionné.

4
Quv

J'utilise ce one-liner lorsque j'ai des problèmes avec l'installation de rmagick, ce qui arrive à chaque fois ...

Sudo C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.8.7-7/include/ImageMagick-6/ PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.8.7-7/lib/pkgconfig/ gem install rmagick

Assurez-vous que la version d'imagemagick est correcte, et vous devriez être prêt à partir. Si imagemagick n'est pas installé, faites un brew install imagemagick.


J'ai dû poster cela parce que j'ai toujours des problèmes pour installer ce bijou, et chaque fois j'oublie comment le faire.

3
Automatico

Après avoir installé imagemagick, pouvez-vous essayer

> gem pristine rmagick

Je l'ai depuis ce fil. Rails Rmagick gem . J'espère que cela aide.

1
RubyFanatic

Vous pouvez également revenir à une ancienne version d'ImageMagick. Ce fil a des instructions sur la façon de le faire:

Maintenant, pour essayer d'être réellement utile, je vous recommande d'extraire l'une des bouteilles les plus anciennes dans votre cave, puis de créer le lien de brassage imagemagick si vous avez désinstallé l'ancienne version.

Ils sont disponibles ici: http://sourceforge.net/projects/machomebrew/files/Bottles/imagemagick-6.7.7-6.snowleopard.bottle.3.tar.gz/downloadhttp://sourceforge.net/projects/machomebrew/files/Bottles/imagemagick-6.7.7-6.lion.bottle.3.tar.gz/downloadhttp://sourceforge.net /projects/machomebrew/files/Bottles/imagemagick-6.7.7-6.mountainlion.bottle.3.tar.gz/download

0
ced