Para instalar ImageMagick de Brew y reparar su enlace simbólico

Suponga que instaló Imagemagick por

brew install imagemagick

pero no entra en tu RUTA. Por ejemplo, ejecuto sin éxito

compare

ya que imagemagick no está en PATH: -bash: compare: command not found.

El comando ls -l /usr/local/bin/compareda

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

Mi .bash_perfil

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

Haciendo eco $PATHda

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

que parece estar bien porque /usr/local/bin/hay.

ImageMagick en mi sistema - responde a la respuesta de 4ae1e1

El comando brew --prefixda /usr/localtan bien.

El comando brew info imagemagickda

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

que parece estar bien.

Ejecuto el comando brew link imagemagicky obtengo

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

Esto parece ser extraño. ¿Cómo puedes resolver este problema?

Ejecuto el comando brew reinstall imagemagicky obtengo

==> 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

así que algo está mal en el enlace simbólico.

¿Cómo se puede resolver el error sobre el enlace simbólico?

¿Qué has probado? ¿Dónde te atascaste? ¿Sabes cómo usar la línea de comandos? ¿Has leído las páginas del manual de ImageMagick? No nos ha dado mucho en la pregunta para trabajar, por lo que es difícil saber cómo ayudarlo. Esperamos que haga un gran esfuerzo por su cuenta antes de preguntar aquí, y que nos muestre en la pregunta qué ha intentado y qué sucedió.
Básicamente, simplemente lo ejecuta desde la Terminal con las opciones que desea. A partir de su pregunta, no está claro si la ejecución desde Terminal falla, si no sabe cómo usarlo para realizar una tarea específica o si tiene un problema diferente. Entonces, aclare editando su pregunta, luego se colocará automáticamente en la cola de reapertura.
que type compareregresa y ls -l /usr/local/bin/compare?
Ahh, ¿y qué mensaje de error recibes al ejecutar compare?
Intente type -a comparey ls -l /usr/local/bin/comparecomo patrix sugirió.
Bien, entonces comparesimplemente no está allí.
Te daré una lista de cosas para probar en breve.
tal vez sea un poco inútil ahora, pero esta solución simple funcionó para mí: stackoverflow.com/questions/13998161/…
En mi caso fue mucho más sencillo instalarlo con "port"

Respuestas (2)

Una lista de cosas para probar, en orden (estoy escribiendo una respuesta en lugar de un comentario para un mejor formato). Ejecute hash -rdespués de cada paso (suponiendo que esté en bash; hágalo rehashen su lugar para zsh; o siempre puede abrir un nuevo shell).

  1. Ejecute brew --prefixy vea si la salida es /usr/local. Si no, su brewno está instalado en /usr/local! Añadir $(brew --prefix)/bina usted $PATH.

  2. Ejecute brew info imagemagicky asegúrese de que esté realmente instalado; tal vez tuvo un error durante la instalación y simplemente no se instaló correctamente.

  3. Ejecutar brew link imagemagickpara enlace simbólico a /usr/local/bin; tal vez los ejecutables no se vincularon correctamente (por alguna razón);

  4. Ejecutar brew reinstall imagemagickpara reinstalar.

  5. Si sigue sin funcionar, muéstranos la salida de brew list imagemagicky veremos qué está mal.

¡Tienes razón! Hay algún error en el enlace simbólico. Ver mi actualización.
Hice rm '/usr/local/bin/convert' y rm '/usr/local/share/man/man1/convert.1' ?
@Masi Eso no es lo mejor que se puede hacer. convertes un comando de ImageMagick, por lo que diría que es seguro simplemente hacer brew link --overwrite imagemagick. Si desea ser demasiado cauteloso, brew link --overwrite --dry-run imagemagickprimero puede echar un vistazo a la lista de archivos sobrescritos, pero diría que no es necesario.
Por cierto, ¿tal vez instaló algún software que no sea Homebrew que proporcionó un convertbinario en /usr/local/bin? ¿Podrías correr convert --versionpara asegurarte de que en realidad es el ImageMagick convert?
La conversión --version fue el comando de ImageMagick. Eliminé los dos archivos y ahora reinstalé con éxito imagemagic. Ahora tengo comparar en mi línea de comando. ¡Gracias por sus respuestas!
Genial, me alegro de que haya ayudado.
¿Cuál es el propósito del comando hash -r ? No obtengo nada al ejecutarlo. Siempre tiendo a ejecutar el reinicio después de cada instalación.
@Masi hash -rrepite la lista de comandos conocidos por el shell. Ayuda con el autocompletado y esas cosas, entonces, ¿por qué no? resettiene poco que ver con su entorno de shell, simplemente reinicia la terminal y ayuda con nada más que problemas de impresión.
¿Hay alguna manera de vincular todo excepto qué conflictos? Tengo un conflicto compareque me gustaría conservar, pero necesito el de ImageMagick convert.
@raxacoricofallapatorius No, y dado que este caso de uso es claramente insoportable desde el punto de vista de brew, no creo que agreguemos una opción, incluso si lo solicita. Sin embargo, siempre puede copiar/mover su compareotro lugar, brew link imagemagicky luego mover su compareespalda a donde está. Tenga en cuenta que imagemagick (por mí, como sucede) se actualiza con bastante frecuencia, por lo que probablemente sea más conveniente si lo instala compareen otro lugar antes del directorio bin de Homebrew, digamos ~/bin.
@ 4ae1e1: O simplemente deje que Brew enlace y luego haga un enlace diferente (digamos xyzcompareal otro compare. Simple.

la propuesta de jjrr en los comentarios donde también debes seguir las instrucciones

brew doctor