การติดตั้งโหนดด้วยการชงล้มเหลวบน Mac OS Sierra


92

ฉันกำลังพยายามติดตั้งโหนดด้วย homebrew บน macOS Sierra ฉันวิ่ง

 brew install node

หลังจากการติดตั้งที่ดูเหมือนจะประสบความสำเร็จฉันได้รับสิ่งต่อไปนี้เมื่อพยายามเรียกใช้node:

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.58.dylib
  Referenced from: /usr/local/bin/node
  Reason: image not found
Abort trap: 6

1
บางทีสิ่งนี้ (แทนที่php56ด้วยnode) จะช่วยได้ แต่ฉันใช้ตัวติดตั้ง Node.js อย่างเป็นทางการสำหรับ Mac ด้วยตัวเอง
robertklep

6
สิ่งนี้ใช้ได้ผลสำหรับฉัน: การอัปเดตชง && ชงติดตั้ง nodejs ใหม่
Scott Flack

ค้นหากระทู้ใน github ที่นี่github.com/Homebrew/homebrew-core/issues/11713
Simon Franzen

@ScottFlack อัพเดทชง; การติดตั้ง nodejs ใหม่อาจใช้งานได้เช่นกันเนื่องจากการติดตั้ง nodejs ใหม่สามารถผ่านได้แม้ว่าการอัปเดตการชงจะออกจากการไม่เป็นศูนย์ (เช่นเนื่องจากการกำหนดค่าผิดพลาดหรือไม่ได้ใช้การแตะ)
emallove

คำตอบ:


108

นี่คือชุดของคาถาที่ได้ผลสำหรับฉันในที่สุดตามลิงค์นี้ที่แนะนำโดย @robertklep และ @vovkasm

brew uninstall --force node
brew uninstall icu4c && brew install icu4c
brew unlink icu4c && brew link icu4c --force
brew install node

ฉันไม่แน่ใจว่าจำเป็นทั้งหมดหรือไม่ แต่เนื่องจากฉันไม่สามารถรับเครื่องได้ในสถานะก่อนหน้านี้ ... ฉันจะทิ้งข้อมูลนี้ไว้ที่นี่อาจเป็นประโยชน์สำหรับคนอื่น


3
ขอบคุณสำหรับสิ่งนี้. ทำงานให้ฉันบน Mac Os 10.13.4 High Sierra ฉันสาบานว่าฉันจะไม่มีวันเข้าใจถึงความจำเป็นในการ - บังคับ มันเหมือนกับ "ฉันหมายถึงมันจริงๆคราวนี้ ... "
Matt

3
ฉันต้องถอนการติดตั้งโหนด 8 ด้วยเพื่อให้สิ่งนี้ใช้งานได้ brew uninstall node@8. ดูmedium.com/@mahcloud/mac-brew-node-10-upgrade-55d3e910eebb
jkschneider

6
เพิ่ม --ignore-dependencies เพื่อถอนการติดตั้งคำสั่งและใช้งานได้ดี
Almas Dusal

1
เพียงแค่บังคับให้ถอนการติดตั้งและติดตั้งใหม่ได้ผลสำหรับฉัน!
Graystripe

1
คุณอาจพบข้อผิดพลาดกับ NPM ที่บอกว่าไม่สามารถถอนการติดตั้งได้icu4cเนื่องจากเป็นการอ้างอิงสำหรับแอปพลิเคชันอื่น เพื่อหลีกเลี่ยงการวิ่งครั้งนี้: brew uninstall --ignore-dependencies icu4c && brew install icu4c. คำสั่งนี้แทนที่คำสั่งที่ 2 ของ @ mircealungu
reelyard


31

ฉันได้รับข้อผิดพลาดนี้ขณะพยายามติดตั้ง@angular/cliโหนดที่รับรู้อาจล้าสมัย การทำตามขั้นตอนที่แน่นอนของ @mircealungu ไม่ได้ผลสำหรับฉันนี่คือเวอร์ชันที่แก้ไขแล้วซึ่งเหมาะกับฉัน

brew uninstall --ignore-dependencies --force node
brew uninstall --ignore-dependencies --force icu4c
brew install icu4c
brew unlink icu4c && brew link icu4c --force
brew install node

2
สิ่งนี้ทำเพื่อฉัน ยังช่วยให้โปรเจ็กต์ปัจจุบันของฉันแค่ฆ่า node_modules ( rm -rf node_modules) และnpm installอีกครั้ง
notacouch

1
ฉันพบปัญหานี้หลังจากติดตั้ง php56-pgsql ผ่านทาง brew โปรแกรมแก้ไขนี้สำหรับฉัน
Felice Ostuni

3
ขอบคุณคำตอบนี้ช่วยชีวิตฉัน มีบางสิ่งที่ฉันต้องทำนอกเหนือจากขั้นตอนเหล่านี้
yoshi


23

ฉันเพิ่งพบปัญหาที่คล้ายกัน (หลังจากทำการ brew switch node 9.8.0ดาวน์เกรดเป็นโหนดเวอร์ชันก่อนหน้า)

dyld: Library not loaded: 
/usr/local/opt/icu4c/lib/libicui18n.60.dylib
  Referenced from: /usr/local/bin/node
  Reason: image not found
Abort trap: 6

ปัญหาคือโหนดจู้จี้จุกจิกเกี่ยวกับเวอร์ชันของ icu4c ที่กำลังมองหาและเวอร์ชันที่ฉันติดตั้ง (62) นั้นสูงกว่าที่โหนดคาดไว้

ในการแก้ไขฉันแน่ใจว่าได้เลือก icu4c เวอร์ชัน 60 แล้ว

ก่อนอื่นฉันพบว่าฉันมีเวอร์ชันbrew info icu4cใดจากนั้น brew switch icu4c 60.2เลือกโหนดเดียวที่คาดหวัง


คุณทราบได้อย่างไรว่าโหนดนั้นต้องการเวอร์ชัน 60.2 ขอบคุณ
raison

1
@raison เวอร์ชันของ icu4c ที่โหนดกำลังค้นหาอยู่ในข้อความแสดงข้อผิดพลาด dyld ในกรณีนี้60. เปรียบเทียบกับการส่งออกของคุณจะพบกับรุ่นที่รองรับเช่นbrew info icu4c 60.2
เรียบร้อย

นั่นเป็นคำตอบที่ดีที่สุด
saza

13

ดูเหมือนว่า/usr/local/opt/icu4c/lib/libicui18n.58.dylibไม่มีไฟล์อยู่ในระบบของคุณ

โปรดตรวจสอบว่าได้icu4cติดตั้ง Homebrew แล้ว

  1. brew info icu4c
  2. หากติดตั้งแล้วให้ลองติดตั้งใหม่: brew reinstall icu4c
  3. หากไม่ได้ติดตั้งให้ลองติดตั้ง: brew install icu4c

12

สำหรับผู้สูงศักดิ์เพียงแค่ "อัพเกรดการชง" ก็สามารถสร้างเวทมนตร์ได้!


2
เช่นเดียวกันกับโมฮาวี มีปัญหากับการติดตั้ง PHP และพิมพ์คำสั่งของคุณ ขอบคุณ.
Julian Schmuckli

9

ก่อนอื่นฉันถอนการติดตั้งโหนดและ icu4c บังคับให้ถอนการติดตั้งทุกเวอร์ชัน

brew uninstall --force --ignore-dependencies node icu4c

หลังจากติดตั้ง Node เวอร์ชัน 8 แล้ว

brew install node@8

หากติดตั้งแล้วโปรดอัปเกรด

brew upgrade node@8

และป้อน

node -v

v8.11.1


8

สำหรับฉันเห็นได้ชัดว่ามีปัญหากับการicu4cติดตั้งจากการชง

brew reinstall icu4c

icu4cจะติดตั้ง

หากคุณไม่ได้ติดตั้ง

brew install icu4c

1
ขอบคุณมากช่วยประหยัดเวลาและความพยายามได้มาก ค้นหาคำตอบนี้มานานมาก
DC

คำตอบนี้ควรได้รับการยอมรับ คำสั่งนี้ช่วยฉัน
Jais Anasrulloh Ja'fari

7

สิ่งนี้ถูกกระตุ้นสำหรับฉันหลังจากbrew upgradeและbrew updateวิ่ง ฉันสามารถแก้ไขได้โดยเพียงแค่ติดตั้งสองรายการที่ถูกตั้งค่าสถานะว่าเป็นปัญหา (ซึ่งสมเหตุสมผลสำหรับฉัน):

brew reinstall node
brew reinstall icu4c

4

ข้างต้นไม่ได้ผลสำหรับฉัน ฉันใช้ High Sierra

สิ่งที่แก้ไขสำหรับฉันคือ brew upgrade



3

ผมพบว่าการแก้ปัญหาที่ใช้งานได้ดีกว่าที่นี่ ฉันจะให้คำสั่งด้านล่างสั้น ๆ

ขั้นแรกให้ cd ลงในไดเร็กทอรีสูตร homebrew:

cd $(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core/Formula

บันทึก Git:

git log --follow icu4c.rb

เลือกคอมมิตแฮชที่ตรงกับเวอร์ชันที่คุณต้องการ ฉันต้องการเวอร์ชัน 61.1 จึงเลือกคอม6d9815มิต:

git checkout -b icu4c-61.1 6d9815

ติดตั้งใหม่:

brew reinstall ./icu4c.rb

สวิตซ์:

brew switch icu4c 61.1

ที่แก้ไขให้ฉัน

เครดิต: hanxue


1
ยังเป็นการแก้ไขทั่วไปที่ดีสำหรับปัญหาห้องสมุดอื่น ๆ ! มีปัญหานี้กับไลบรารีอื่น ๆ มาก่อน แต่นี่เป็นวิธีแก้ปัญหาที่สะอาดที่สุด (ด้วย git branch และเพียงแค่ตรวจสอบเวอร์ชันเก่าแทนที่จะแก้ไขสูตรด้วยตนเอง)
Ricky Cook


1

ฉันได้รับข้อผิดพลาดนี้หลังจากย้ายเครื่อง

แม้ว่าจะติดตั้งทุกอย่างแล้ว แต่เมื่อฉันไปตรวจสอบnode -vหรือnpm versionฉันได้รับข้อผิดพลาดนี้

brew reinstall icu4cสิ่งที่คงที่มันเป็น


1

ฉันมีปัญหาเดียวกันกับการติดตั้ง php ในพื้นที่ของฉัน

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib
  Referenced from: /usr/local/bin/php
  Reason: image not found
Abort trap: 6

แก้ไขปัญหาด้วยคำสั่งนี้ (ตรวจสอบเวอร์ชันของคุณ)

brew link --overwrite --force php@7.1


0

ดูเหมือนว่าเส้นทางอ้างอิง icu4u ของคุณไม่ได้ตั้งค่าอย่างถูกต้อง

ตรวจสอบก่อนว่าคุณอาจติดตั้ง icu4c หรือไม่โดยใส่ความคิดเห็นด้านล่างในความคิดเห็น promt

brew info icu4c

หรือติดตั้งใหม่

brew reinstall icu4c

หากคุณจำเป็นต้องมีซอฟต์แวร์นี้ก่อนในการรัน PATH ของคุณ:

echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile

หวังว่าจะช่วยได้ !!!!!


0

ง่ายเหมือนซอฟต์แวร์ทั่วไปเพียงดาวน์โหลดแพ็คเกจการติดตั้งจากเว็บไซต์ทางการ: NodeJS

จากนั้นดาวน์โหลดเวอร์ชันที่แนะนำ (ปัจจุบันคือ 8.11.3 ลงท้ายด้วย.pkg) ติดตั้งเป็นซอฟต์แวร์ทั่วไปจากนั้นคุณสามารถใช้งานได้ ฉันลองหลายวิธีแล้วและมีเพียงวิธีนี้เท่านั้นที่ใช้ได้กับฉัน



0

ฉันลบออกexport PATH="/usr/local/opt/icu4c/bin:$PATH"จาก~/.bash_profileไฟล์และแก้ไขปัญหาของฉันได้

ข้อผิดพลาดของฉันคือ:

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.63.dylib
  Referenced from: /usr/local/opt/node@10/bin/node
  Reason: image not found
Abort trap: 6

ของฉัน/usr/local/opt/icu4c/libประกอบด้วยlibicui18n.64.dylib

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