Załóżmy, że zainstalowałeś Imagemagick przez
brew install imagemagick
ale nie wchodzi w twoją ŚCIEŻKĘ. Na przykład biegnę bezskutecznie
compare
od ImageMagick nie jest w PATH: -bash: compare: command not found
.
Komenda ls -l /usr/local/bin/compare
daje
ls: /usr/local/bin/compare: No such file or directory
Mój plik .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
Echoing $PATH
daje
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin:/usr/texbin
co wydaje się w porządku, ponieważ /usr/local/bin/
tam.
ImageMagick w moim systemie - odpowiedzi na odpowiedź 4ae1e1
Polecenie brew --prefix
daje /usr/local
tak dobrze.
Komenda brew info imagemagick
daje
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
co wydaje się być w porządku.
Wykonuję polecenie brew link imagemagick
i rozumiem
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
To wydaje się dziwne. Jak możesz rozwiązać ten problem?
Wykonuję polecenie brew reinstall imagemagick
i rozumiem
==> 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
więc coś jest nie tak w symlinkowaniu.
Jak rozwiązać problem dotyczący dowiązania symbolicznego?
type -a compare
ils -l /usr/local/bin/compare
zgodnie z sugestią Patrix.Odpowiedzi:
Lista rzeczy do wypróbowania w kolejności (piszę odpowiedź zamiast komentarza w celu lepszego formatowania). Uruchom
hash -r
po każdym kroku (zakładając, że jesteś w bash; zrób torehash
zamiast zsh; lub zawsze możesz otworzyć nową powłokę).Uruchom
brew --prefix
i sprawdź, czy dane wyjściowe są/usr/local
. Jeśli nie, twójbrew
nie jest zainstalowany/usr/local
! Dodaj$(brew --prefix)/bin
do ciebie$PATH
.Uruchom
brew info imagemagick
i upewnij się, że jest rzeczywiście zainstalowany; może wystąpił błąd podczas instalacji i po prostu nie został pomyślnie zainstalowany.Uruchom,
brew link imagemagick
aby dowiązanie symboliczne do/usr/local/bin
; być może pliki wykonywalne nie zostały poprawnie dowiązane symbolicznie (z jakiegoś powodu);Uruchom,
brew reinstall imagemagick
aby ponownie zainstalować.Jeśli nadal nie działa, pokaż nam wyniki,
brew list imagemagick
a my zobaczymy, co jest nie tak.źródło
convert
jest poleceniem ImageMagick, więc powiedziałbym, że jest to bezpiecznebrew link --overwrite imagemagick
. Jeśli chcesz być zbyt ostrożny, możesz najpierwbrew link --overwrite --dry-run imagemagick
przejrzeć listę zastąpionych plików, ale powiedziałbym, że to nie jest konieczne.convert
binarny/usr/local/bin
? Czy możesz uruchomić,convert --version
aby upewnić się, że faktycznie jest to ImageMagickconvert
?hash -r
zmienia listę poleceń znanych powłoce. Pomaga w autouzupełnianiu i tak dalej, więc czemu nie.reset
ma niewiele wspólnego ze środowiskiem powłoki, po prostu resetuje terminal i pomaga jedynie w problemach z drukowaniem.Propozycja jjrr w komentarzach, w której musisz również postępować zgodnie z instrukcjami
źródło