Per installare Brew ImageMagick e correggere il suo Symlink


15

Supponiamo che Imagemagick sia installato da

brew install imagemagick

ma non entra nel tuo PERCORSO. Ad esempio, corro senza successo

compare

poiché ImageMagick non è in PATH: -bash: compare: command not found.

Il comando ls -l /usr/local/bin/compare

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

Il mio .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

$PATHDà eco

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

che sembra essere ok perché /usr/local/bin/lì.

ImageMagick nel mio sistema: risponde alla risposta di 4ae1e1

Il comando brew --prefix/usr/localcosì ok.

Il comando brew info imagemagick

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

che sembra essere ok.

Eseguo il comando brew link imagemagicke ottengo

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

Questo sembra essere strano. Come puoi risolvere questo problema?

Eseguo il comando brew reinstall imagemagicke ottengo

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

quindi qualcosa di sbagliato nel collegamento simbolico.

Come puoi risolvere l'errore su symlink?


Che cosa hai provato? Dove ti sei bloccato? Sai come usare la riga di comando? Hai letto le pagine del manuale di ImageMagick? Non ci hai dato molto sulla domanda con cui lavorare, quindi è difficile sapere come aiutarti. Ci aspettiamo che tu faccia uno sforzo serio da solo prima di chiedere qui e di mostrarci nella domanda cosa hai provato e cosa è successo.
DW

Fondamentalmente basta eseguirlo dal Terminale con le opzioni desiderate. Dalla tua domanda non è chiaro se l'esecuzione da Terminal non riesce, se non sai come usarlo per eseguire un'attività specifica o se hai un problema diverso. Quindi, chiarisci modificando la tua domanda, che verrà automaticamente inserita nella coda di riapertura.
Nohillside

1
Si prega di provare type -a comparee ls -l /usr/local/bin/comparecome suggerito patrix.
4ae1e1

1
Ti darò un elenco di cose da provare a breve.
4ae1e1

1
forse è un po 'inutile ora, ma questa semplice soluzione ha funzionato per me: stackoverflow.com/questions/13998161/...
jjrr

Risposte:


12

Un elenco di cose da provare, in ordine (sto scrivendo una risposta anziché un commento per una migliore formattazione). Esegui hash -rdopo ogni passaggio (supponendo che tu sia in bash; fai rehashinvece per zsh; oppure puoi sempre aprire una nuova shell).

  1. Esegui brew --prefixe vedi se l'output è /usr/local. In caso contrario, il tuo brewnon è installato /usr/local! Aggiungi $(brew --prefix)/bina te $PATH.

  2. Esegui brew info imagemagicke assicurati che sia effettivamente installato; forse hai avuto un errore durante l'installazione e semplicemente non è stato installato correttamente.

  3. Esegui il brew link imagemagickcollegamento simbolico a /usr/local/bin; forse gli eseguibili non erano collegati correttamente (per qualche motivo);

  4. Esegui brew reinstall imagemagickper reinstallare.

  5. Se il problema persiste, mostraci l'output di brew list imagemagicke vedremo cosa non va.


Hai ragione! C'è qualche errore nel collegamento simbolico. Vedi il mio aggiornamento
Léo Léopold Hertz

Ho fatto rm '/ usr / local / bin / convert' e rm '/usr/local/share/man/man1/convert.1' ?
Léo Léopold Hertz

@Masi Non è la cosa migliore da fare. convertè un comando ImageMagick, quindi direi che è sicuro farlo brew link --overwrite imagemagick. Se vuoi essere troppo cauto, puoi prima dare brew link --overwrite --dry-run imagemagickun'occhiata all'elenco dei file sovrascritti, ma direi che non è necessario.
4ae1e1

A proposito, forse hai installato un software non Homebrew che ha fornito un convertbinario in /usr/local/bin? Potresti correre convert --versionper assicurarti che sia effettivamente ImageMagick convert?
4ae1e1

1
@Masi ripete hash -rl'elenco dei comandi noti alla shell. Aiuta con il completamento automatico e roba del genere, quindi perché no. resetha poco a che fare con l'ambiente della shell, reimposta il terminale e aiuta solo con problemi di stampa.
4ae1e1

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.