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


15

Supongamos que instaló Imagemagick por

brew install imagemagick

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

compare

ImageMagick ya 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

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

El 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 - respuestas 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

entonces algo anda mal en symlinking.

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


Que has intentado ¿Dónde te quedaste atascado? ¿Sabes cómo usar la línea de comando? ¿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 esfuerzo serio por su cuenta antes de preguntar aquí, y que nos muestre en la pregunta qué ha intentado y qué sucedió.
DW

Básicamente solo lo ejecutas desde la Terminal con las opciones que deseas. Según su pregunta, no está claro si la ejecución desde Terminal falla, si no sabe cómo usarla 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.
Nohillside

1
Por favor, intente type -a comparey ls -l /usr/local/bin/comparecomo sugirió Patrix.
4ae1e1

1
Te daré una lista de cosas para probar en breve.
4ae1e1

1
tal vez sea un poco inútil ahora, pero esta solución simple funcionó para mí: stackoverflow.com/questions/13998161/…
jjrr

Respuestas:


12

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

  1. Ejecute brew --prefixy vea si la salida es /usr/local. Si no, su brewno está instalado /usr/local! Añadir $(brew --prefix)/bina que $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 vincular a /usr/local/bin; tal vez los ejecutables no estaban enlazados correctamente (por alguna razón);

  4. Ejecutar brew reinstall imagemagickpara reinstalar.

  5. Si todavía no funciona, muéstranos el resultado brew list imagemagicky veremos qué sucede.


¡Tienes razón! Hay algún error en el enlace simbólico. Mira mi actualización.
Léo Léopold Hertz 준영

Hice rm / usr / local / bin / convertir ' y '/usr/local/share/man/man1/convert.1' rm ?
Léo Léopold Hertz 준영

@ Masi Eso no es lo mejor que puedes hacer. convertes un comando de ImageMagick, por lo que diría que es seguro hacerlo 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.
4ae1e1

Por cierto, ¿tal vez instaló algún software que no sea Homebrew que proporcionó un convertbinario /usr/local/bin? ¿Podrías correr convert --versionpara asegurarte de que es realmente el ImageMagick convert?
4ae1e1

1
@Masi vuelve a hash -rcompartir la lista de comandos conocidos por el shell. Ayuda con el autocompletado y demás, así que ¿por qué no? resettiene poco que ver con su entorno de shell, solo restablece el terminal y ayuda con nada más que problemas de impresión.
4ae1e1

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.