Предположим, вы установили Imagemagick
brew install imagemagick
но это не попадает в ваш путь. Например, я бегу неудачно
compare
поскольку ImageMagick не в PATH: -bash: compare: command not found
.
Команда ls -l /usr/local/bin/compare
дает
ls: /usr/local/bin/compare: No such file or directory
Мой .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
Эхо $PATH
дает
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin:/usr/texbin
что, кажется, хорошо, потому что /usr/local/bin/
там.
ImageMagick в моей системе - ответы на 4ae1e1
Команда brew --prefix
дает /usr/local
так хорошо.
Команда 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
что вроде бы нормально.
Я запускаю команду brew link imagemagick
и получаю
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
Это кажется странным. Как вы можете решить эту проблему?
Я запускаю команду brew reinstall imagemagick
и получаю
==> 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
так что-то не так в символических ссылках.
Как вы можете решить ошибку о символической ссылке?
type -a compare
и,ls -l /usr/local/bin/compare
как предложил Патрикс.Ответы:
Список вещей, чтобы попробовать, по порядку (я пишу ответ вместо комментария для лучшего форматирования). Запускайте
hash -r
после каждого шага (при условии, что вы находитесь в bash; делайтеrehash
вместо этого для zsh; или вы всегда можете открыть новую оболочку).Запустите
brew --prefix
и посмотрите, если выход/usr/local
. Если нет, вашbrew
не установлен в/usr/local
! Добавьте$(brew --prefix)/bin
к вам$PATH
.Запустите
brew info imagemagick
и убедитесь, что он действительно установлен; возможно у вас была ошибка во время установки, и она просто не была успешно установлена.Запустите
brew link imagemagick
символическую ссылку на/usr/local/bin
; возможно, исполняемые файлы не были правильно символизированы (по какой-то причине);Запустите
brew reinstall imagemagick
для переустановки.Если это все еще не работает, покажите нам вывод,
brew list imagemagick
и мы увидим, что не так.источник
convert
это команда ImageMagick, поэтому я бы сказал, что это безопасноbrew link --overwrite imagemagick
. Если вы хотите быть чрезмерно осторожным, вы можетеbrew link --overwrite --dry-run imagemagick
сначала просмотреть список перезаписанных файлов, но я бы сказал, что в этом нет необходимости.convert
бинарный файл/usr/local/bin
? Не могли бы вы бежать,convert --version
чтобы убедиться, что это на самом деле ImageMagickconvert
?hash -r
список команд, известных оболочке. Это помогает с автозаполнением и прочее, так почему бы и нет.reset
имеет мало общего с вашей оболочкой, он просто сбрасывает терминал и помогает только с проблемами печати.Предложение jjrr в комментариях, где вы должны следовать инструкциям тоже
источник