Để cài đặt ImageMagick của Brew và sửa Symlink của nó


15

Giả sử bạn đã cài đặt Imagemagick bởi

brew install imagemagick

nhưng nó không vào được ĐƯỜNG của bạn. Ví dụ, tôi chạy không thành công

compare

vì hình ảnh không có trong PATH : -bash: compare: command not found.

Lệnh ls -l /usr/local/bin/comparecho

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

.Bash_profile của tôi

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 $PATHcho

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

Có vẻ là ok vì /usr/local/bin/có.

ImageMagick trong hệ thống của tôi - câu trả lời cho câu trả lời của 4ae1e1

Lệnh brew --prefixcho /usr/localok vậy.

Lệnh brew info imagemagickcho

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

mà có vẻ là ok

Tôi chạy lệnh brew link imagemagickvà nhận

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

Điều này có vẻ là lạ. Làm thế nào bạn có thể giải quyết vấn đề này?

Tôi chạy lệnh brew reinstall imagemagickvà nhận

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

Vì vậy, một cái gì đó sai trong symlinking.

Làm thế nào bạn có thể giải quyết lỗi về symlink?


Bạn đã thử những gì? Bạn bị kẹt ở đâu? Bạn có biết làm thế nào để sử dụng dòng lệnh? Bạn đã đọc các trang hướng dẫn ImageMagick chưa? Bạn chưa cho chúng tôi nhiều câu hỏi để làm việc, vì vậy thật khó để biết cách giúp bạn. Chúng tôi hy vọng bạn sẽ tự mình thực hiện một nỗ lực nghiêm túc trước khi hỏi tại đây và cho chúng tôi biết câu hỏi bạn đã thử và điều gì đã xảy ra.
DW

Về cơ bản bạn chỉ cần chạy nó từ Terminal với các tùy chọn bạn muốn. Từ câu hỏi của bạn, không rõ liệu chạy từ Terminal có thất bại hay không, liệu bạn không biết cách sử dụng nó để hoàn thành một nhiệm vụ cụ thể hay liệu bạn có gặp vấn đề khác không. Vì vậy, hãy làm rõ bằng cách chỉnh sửa câu hỏi của bạn, sau đó nó sẽ tự động được đặt vào hàng đợi mở lại.
nohillside

1
Hãy thử type -a comparels -l /usr/local/bin/comparenhư patrix đề nghị.
4ae1e1

1
Tôi sẽ cung cấp cho bạn một danh sách những điều cần thử ngay.
4ae1e1

1
có thể bây giờ nó hơi vô dụng, nhưng giải pháp đơn giản này đã có hiệu quả với tôi: stackoverflow.com/questions/13998161/
mẹo

Câu trả lời:


12

Một danh sách những điều cần thử, theo thứ tự (Tôi đang viết câu trả lời thay vì nhận xét để định dạng tốt hơn). Chạy hash -rsau mỗi bước (giả sử bạn đang ở bash; rehashthay vào đó là zsh; hoặc bạn luôn có thể mở một vỏ mới).

  1. Chạy brew --prefixvà xem nếu đầu ra là /usr/local. Nếu không, bạn brewkhông được cài đặt /usr/local! Thêm $(brew --prefix)/binvào bạn $PATH.

  2. Chạy brew info imagemagickvà chắc chắn rằng nó thực sự được cài đặt; có thể bạn đã gặp lỗi trong quá trình cài đặt và đơn giản là nó không được cài đặt thành công.

  3. Chạy brew link imagemagickđến symlink tới /usr/local/bin; có thể các tệp thực thi không được liên kết chính xác (vì một số lý do);

  4. Chạy brew reinstall imagemagickđể cài đặt lại.

  5. Nếu nó vẫn không hoạt động, hãy cho chúng tôi thấy đầu ra brew list imagemagickvà chúng tôi sẽ thấy những gì sai.


Bạn đúng rồi! Có một số lỗi trong symlinking. Xem cập nhật của tôi.
Léo Léopold Hertz 준영

Tôi đã làm rm '/ usr / local / bin / convert'rm '/usr/local/share/man/man1/convert.1' ?
Léo Léopold Hertz 준영

@Masi Đó không phải là điều tốt nhất để làm. convertlà một lệnh ImageMagick, vì vậy tôi muốn nói rằng nó an toàn để làm brew link --overwrite imagemagick. Nếu bạn muốn thận trọng quá mức, trước tiên bạn có thể brew link --overwrite --dry-run imagemagickxem danh sách các tệp bị ghi đè, nhưng tôi nói rằng điều đó không cần thiết.
4ae1e1

Nhân tiện, có lẽ bạn đã cài đặt một số phần mềm không phải là Homebrew cung cấp convertnhị phân /usr/local/bin? Bạn có thể chạy convert --versionđể đảm bảo rằng nó thực sự là ImageMagick convert?
4ae1e1

1
@Masi hash -rrehashes danh sách các lệnh được biết đến vỏ. Nó giúp tự động hoàn thành và công cụ, vậy tại sao không. resetít liên quan đến môi trường shell của bạn, nó chỉ đặt lại thiết bị đầu cuối và không giúp gì ngoài việc in.
4ae1e1

0

đề xuất của jjrr trong các ý kiến ​​mà bạn cũng cần phải làm theo hướng dẫn

brew doctor
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.