เพื่อติดตั้ง Brew's ImageMagick และแก้ไข Symlink


15

สมมติว่าคุณติดตั้ง Imagemagick โดย

brew install imagemagick

แต่มันไม่ได้เข้าสู่เส้นทางของคุณ ตัวอย่างเช่นฉันทำงานไม่สำเร็จ

compare

ตั้งแต่ ImageMagick -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

มีบางอย่างผิดปกติในการเชื่อมโยง

คุณจะแก้ไขข้อผิดพลาดเกี่ยวกับ symlink ได้อย่างไร


คุณลองทำอะไร คุณติดอยู่ที่ไหน คุณรู้วิธีใช้บรรทัดคำสั่งหรือไม่ คุณอ่านหน้าคู่มือ ImageMagick หรือไม่? คุณไม่ได้ให้คำถามกับเรามากในการทำงานดังนั้นจึงยากที่จะรู้ว่าจะช่วยคุณได้อย่างไร เราคาดหวังให้คุณใช้ความพยายามอย่างจริงจังด้วยตัวเองก่อนถามที่นี่และแสดงให้เราเห็นในคำถามว่าคุณได้ลองทำอะไรและเกิดอะไรขึ้น
DW

โดยทั่วไปคุณเพียงแค่เรียกใช้จาก Terminal ด้วยตัวเลือกที่คุณต้องการ จากคำถามของคุณยังไม่ชัดเจนว่าการรันจากเทอร์มินัลล้มเหลวหรือไม่คุณไม่รู้ว่าจะใช้งานอย่างไรเพื่อทำงานที่เฉพาะเจาะจงหรือว่าคุณมีปัญหาอื่น ดังนั้นโปรดอธิบายโดยการแก้ไขคำถามของคุณคำถามนั้นจะถูกวางลงในคิวที่เปิดใหม่โดยอัตโนมัติ
nohillside

1
โปรดลองtype -a compareและls -l /usr/local/bin/compareตามที่ patrix แนะนำ
4ae1e1

1
ฉันจะให้รายการสิ่งที่คุณลองเร็ว ๆ นี้
4ae1e1

1
อาจจะไร้ประโยชน์นิดหน่อยในตอนนี้ แต่วิธีแก้ปัญหาแบบง่าย ๆ นี้ใช้ได้กับฉัน: stackoverflow.com/questions/13998161/…
jjrr

คำตอบ:


12

รายการสิ่งที่ต้องลองตามลำดับ (ฉันเขียนคำตอบแทนความคิดเห็นเพื่อการจัดรูปแบบที่ดีขึ้น) เรียกใช้hash -rหลังจากแต่ละขั้นตอน (สมมติว่าคุณอยู่ใน bash ทำrehashแทน zsh หรือคุณสามารถเปิดเชลล์ใหม่ได้เสมอ)

  1. เรียกใช้และดูว่าออกเป็นbrew --prefix /usr/localถ้าไม่คุณbrewไม่ได้ติดตั้ง/usr/local! เพิ่มให้กับคุณ$(brew --prefix)/bin$PATH

  2. เรียกใช้brew info imagemagickและตรวจสอบให้แน่ใจว่าติดตั้งจริง บางทีคุณอาจมีข้อผิดพลาดระหว่างการติดตั้งและติดตั้งไม่สำเร็จ

  3. วิ่งbrew link imagemagickไปที่ symlink เพื่อ/usr/local/bin; อาจ executables ไม่ได้ symlinked อย่างถูกต้อง (ด้วยเหตุผลบางอย่าง);

  4. เรียกใช้brew reinstall imagemagickเพื่อติดตั้งใหม่

  5. หากยังใช้งานไม่ได้ให้แสดงผลลัพธ์ของbrew list imagemagickเราและเราจะเห็นว่ามีอะไรผิดปกติ


คุณพูดถูก! มีข้อผิดพลาดบางอย่างในการเชื่อมโยง ดูการปรับปรุงของฉัน
LéoLéopold Hertz 준영

ฉันทำrm '/ usr / local / bin / convert'และrm '/usr/local/share/man/man1/convert.1'หรือไม่
LéoLéopold Hertz 준영

@Masi นั่นไม่ใช่สิ่งที่ดีที่สุดที่จะทำ convertเป็นคำสั่ง ImageMagick brew link --overwrite imagemagickดังนั้นผมว่ามันปลอดภัยที่จะทำ หากคุณต้องการระแวดระวังอย่างมากคุณสามารถbrew link --overwrite --dry-run imagemagickดูรายการไฟล์ที่ถูกเขียนทับได้ก่อน แต่ฉันบอกว่าไม่จำเป็น
4ae1e1

โดยวิธีการที่คุณอาจติดตั้งซอฟต์แวร์ที่ไม่ใช่ Homebrew บางอย่างที่ให้convertไบนารีใน/usr/local/bin? คุณสามารถเรียกใช้convert --versionเพื่อให้แน่ใจว่าเป็น ImageMagick จริง ๆconvertหรือไม่
4ae1e1

1
@Masi hash -rทำรายการคำสั่งที่เชลล์รู้จักใหม่ มันช่วยในการเติมข้อความอัตโนมัติและเนื้อหาดังนั้นทำไมไม่ resetมีเพียงเล็กน้อยที่จะทำกับสภาวะแวดล้อมเชลล์ของคุณเพียงแค่รีเซ็ตเทอร์มินัลและช่วยในเรื่องการพิมพ์
4ae1e1

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.