Pour installer ImageMagick de Brew et corriger son Symlink

15

Supposons que vous avez installé Imagemagick par

brew install imagemagick

mais il n'entre pas dans votre CHEMIN. Par exemple, je cours sans succès

compare

puisque ImageMagick est pas dans PATH: -bash: compare: command not found.

La commande ls -l /usr/local/bin/comparedonne

ls: /usr/local/bin/compare: No such file or directory

Mon .bash_profile

if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

# http://apple.stackexchange.com/a/53058/15504
export PATH=/usr/bin:/usr/local/bin:/opt/local/sbin:$PATH

L'écho $PATHdonne

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin:/usr/texbin

ce qui semble bien parce que /usr/local/bin/là - bas.

ImageMagick dans mon système - réponses à la réponse de 4ae1e1

La commande brew --prefixdonne /usr/localdonc ok.

La commande brew info imagemagickdonne

imagemagick: stable 6.9.0-3 (bottled), HEAD
http://www.imagemagick.org
/usr/local/Cellar/imagemagick/6.9.0-3 (1440 files, 22M)
  Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/imagemagick.rb
==> Dependencies
Build: xz ✔, pkg-config 
Required: libtool ✔, xz 
Recommended: jpeg ✔, libpng ✔, freetype 
Optional: fontconfig ✔, libtiff ✔, little-cms ✘, little-cms2 ✘, libwmf ✘, librsvg ✘, liblqr ✘, openexr ✘, ghostscript ✘, webp ✘, fftw 
==> Options
--enable-hdri
        Compile with HDRI support
--with-fftw
        Compile with FFTW support
--with-fontconfig
        Build with fontconfig support
--with-ghostscript
        Build with ghostscript support
--with-jp2
        Compile with Jpeg2000 support
--with-liblqr
        Build with liblqr support
--with-librsvg
        Build with librsvg support
--with-libtiff
        Build with libtiff support
--with-libwmf
        Build with libwmf support
--with-little-cms
        Build with little-cms support
--with-little-cms2
        Build with little-cms2 support
--with-openexr
        Build with openexr support
--with-perl
        enable build/install of PerlMagick
--with-quantum-depth-16
        Compile with a quantum depth of 16 bit
--with-quantum-depth-32
        Compile with a quantum depth of 32 bit
--with-quantum-depth-8
        Compile with a quantum depth of 8 bit
--with-webp
        Build with webp support
--with-x11
        Build with x11 support
--without-freetype
        Build without freetype support
--without-jpeg
        Build without jpeg support
--without-libpng
        Build without libpng support
--without-magick-plus-plus
        disable build/install of Magick++
--HEAD
        Install HEAD version

ce qui semble bien.

J'exécute la commande brew link imagemagicket j'obtiens

Linking /usr/local/Cellar/imagemagick/6.9.0-3... 
Error: Could not symlink bin/convert
Target /usr/local/bin/convert
already exists. You may want to remove it:
  rm '/usr/local/bin/convert'

To force the link and overwrite all conflicting files:
  brew link --overwrite imagemagick

To list all files that would be deleted:
  brew link --overwrite --dry-run imagemagick

Cela semble étrange. Comment pouvez-vous résoudre ce problème?

J'exécute la commande brew reinstall imagemagicket j'obtiens

==> Reinstalling imagemagick
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/imagemagick
Already downloaded: /Library/Caches/Homebrew/imagemagick-6.9.0-3.yosemite.bottle.tar.gz
==> Pouring imagemagick-6.9.0-3.yosemite.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/convert
Target /usr/local/bin/convert
already exists. You may want to remove it:
  rm '/usr/local/bin/convert'

To force the link and overwrite all conflicting files:
  brew link --overwrite imagemagick

To list all files that would be deleted:
  brew link --overwrite --dry-run imagemagick

Possible conflicting files are:
/usr/local/bin/convert
/usr/local/share/man/man1/convert.1
==> Summary
🍺  /usr/local/Cellar/imagemagick/6.9.0-3: 1440 files, 22M

donc quelque chose qui ne va pas dans les liens symboliques.

Comment pouvez-vous résoudre l'erreur concernant le lien symbolique?

Léo Léopold Hertz 준영
la source
Qu'as-tu essayé? Où êtes-vous resté coincé? Savez-vous comment utiliser la ligne de commande? Avez-vous lu les pages de manuel ImageMagick? Vous ne nous avez pas beaucoup donné dans la question avec laquelle travailler, il est donc difficile de savoir comment vous aider. Nous attendons de vous que vous fassiez de sérieux efforts par vous-même avant de demander ici, et de nous montrer dans la question ce que vous avez essayé et ce qui s'est passé.
DW
Fondamentalement, vous l'exécutez à partir du terminal avec les options que vous souhaitez. À partir de votre question, il n'est pas clair si l'exécution à partir de Terminal Server échoue, si vous ne savez pas comment l'utiliser pour accomplir une tâche spécifique ou si vous avez un problème différent. Veuillez donc clarifier en modifiant votre question, elle sera ensuite automatiquement placée dans la file d'attente de réouverture.
nohillside
1
Veuillez essayer type -a compareet ls -l /usr/local/bin/comparecomme patrix l'a suggéré.
4ae1e1
1
Je vais vous donner une liste de choses à essayer sous peu.
4ae1e1
1
c'est peut-être un peu inutile maintenant, mais cette solution simple a fonctionné pour moi: stackoverflow.com/questions/13998161/…
jjrr

Réponses:

12

Une liste de choses à essayer, dans l'ordre (j'écris une réponse au lieu d'un commentaire pour un meilleur formatage). Exécutez hash -raprès chaque étape (en supposant que vous êtes dans bash; faites rehashplutôt pour zsh; ou vous pouvez toujours ouvrir un nouveau shell).

  1. Exécutez brew --prefixet voyez si la sortie est /usr/local. Sinon, votre brewn'est pas installé pour /usr/local! Ajoutez $(brew --prefix)/binà vous $PATH.

  2. Exécutez brew info imagemagicket assurez-vous qu'il est réellement installé; vous avez peut-être eu une erreur lors de l'installation et elle n'a tout simplement pas été installée avec succès.

  3. Exécutez brew link imagemagickle lien symbolique vers /usr/local/bin; peut-être que les exécutables n'étaient pas correctement liés par un lien symbolique (pour une raison quelconque);

  4. Exécutez brew reinstall imagemagickpour réinstaller.

  5. Si cela ne fonctionne toujours pas, montrez-nous la sortie de brew list imagemagicket nous verrons ce qui ne va pas.

4ae1e1
la source
Tu as raison! Il y a une erreur dans le lien symbolique. Voir ma mise à jour.
Léo Léopold Hertz
J'ai fait rm '/ usr / local / bin / convert' et rm '/usr/local/share/man/man1/convert.1' ?
Léo Léopold Hertz
@Masi Ce n'est pas la meilleure chose à faire. convertest une commande ImageMagick, donc je dirais que c'est sûr de le faire brew link --overwrite imagemagick. Si vous voulez être trop prudent, vous pouvez brew link --overwrite --dry-run imagemagickd'abord consulter la liste des fichiers écrasés, mais je dirais que ce n'est pas nécessaire.
4ae1e1
Soit dit en passant, vous avez peut-être installé un logiciel non homebrew qui fournissait un convertbinaire dans /usr/local/bin? Pourriez-vous courir convert --versionpour vous assurer qu'il s'agit bien de l'ImageMagick convert?
4ae1e1
1
@Masi hash -rrefait la liste des commandes connues du shell. Cela aide à la saisie semi-automatique et à d'autres choses, alors pourquoi pas. reseta peu à voir avec votre environnement shell, il réinitialise simplement le terminal et ne résout que les problèmes d'impression.
4ae1e1
0

la proposition de jjrr dans les commentaires où vous devez également suivre les instructions

brew doctor
Léo Léopold Hertz 준영
la source