Không thể cài đặt nút với brew trên Mac OS Sierra


91

Tôi đang cố gắng cài đặt nút bằng homebrew trên macOS Sierra. tôi chạy

 brew install node

Sau khi cài đặt có vẻ thành công, tôi nhận được những điều sau khi cố gắng chạy 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
Có lẽ điều này (thay thế php56bằng node) hữu ích, nhưng tôi sử dụng trình cài đặt Node.js chính thức cho Mac.
robertklep

6
này làm việc cho tôi: cập nhật brew && brew cài đặt lại nodejs
Scott Flack

Tìm chủ đề trên github tại đây github.com/Homebrew/homebrew-core/issues/11713
Simon Franzen

@ScottFlack, cập nhật bia; brew cài đặt lại nodejs cũng có thể hoạt động, vì cài đặt lại nodejs có thể vượt qua mặc dù bản cập nhật brew thoát khác 0 (ví dụ: do một vòi được định cấu hình sai hoặc không sử dụng).
emallove

Câu trả lời:


108

Đây là loạt câu thần chú cuối cùng đã có hiệu quả với tôi dựa trên liên kết này do @robertklep và @vovkasm đề xuất.

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

Tôi không chắc liệu tất cả chúng có cần thiết hay không, nhưng do tôi không thể đưa máy của mình về trạng thái trước đó ... Tôi sẽ chỉ để lại thông tin này ở đây, có thể nó sẽ hữu ích cho người khác.


3
Cám ơn vì cái này. Đã làm việc cho tôi trên Mac Os 10.13.4 High Sierra. Tôi thề rằng tôi sẽ không bao giờ hiểu sự cần thiết của - lực lượng. Nó giống như là "Tôi thực sự có ý đó, lần này ...".
Matt

3
Tôi cũng phải gỡ cài đặt nút 8 để điều này hoạt động. brew uninstall node@8. Xem medium.com/@mahcloud/mac-brew-node-10-upgrade-55d3e910eebb
jkschneider

6
Đã thêm --ignore-dependencies để gỡ cài đặt lệnh và nó hoạt động tốt.
Almas Dusal

1
Chỉ cần buộc gỡ cài đặt và cài đặt lại phù hợp với tôi!
Graystripe

1
Bạn có thể gặp lỗi với NPM nói rằng nó không thể gỡ cài đặt icu4cvì nó phụ thuộc vào các ứng dụng khác. Để có được xung quanh hoạt động này: brew uninstall --ignore-dependencies icu4c && brew install icu4c. Lệnh này thay thế lệnh thứ 2 của @ mircealungu.
reelyard

67

Trong trường hợp của tôi, hãy brew upgrade nodegiải quyết vấn đề :)


8
Tôi nghĩ rằng bạn muốn brew upgradethay thế, updateđã cho tôi một lỗi.
getmicah

31

Tôi gặp lỗi này khi cố gắng cài đặt @angular/cli, nhận ra nút có thể đã lỗi thời. Làm theo các bước chính xác của @mircealungu không phù hợp với tôi, đây là phiên bản sửa đổi phù hợp với tôi.

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
Điều này đã làm điều đó cho tôi. Cũng đã giúp cho dự án hiện tại của tôi chỉ tiêu diệt node_modules ( rm -rf node_modules) và npm installtất cả một lần nữa.
notacouch

1
Tôi gặp sự cố này sau khi cài đặt php56-pgsql qua brew, bản sửa lỗi này cho tôi.
Felice Ostuni

3
Cảm ơn, câu trả lời này đã cứu mạng tôi. Có một số công việc mà tôi phải làm ngoài các bước này.
yoshi

24

Nâng cấp nút đã khắc phục sự cố.

brew upgrade node 

23

Gần đây tôi đã gặp sự cố tương tự (sau khi brew switch node 9.8.0hạ cấp xuống phiên bản trước của nút)

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

Vấn đề là nút rất kén chọn phiên bản icu4c mà nó đang tìm kiếm và phiên bản tôi đã cài đặt (62) cao hơn so với phiên bản mà nút mong đợi.

Để khắc phục, tôi đảm bảo rằng tôi đã chọn phiên bản 60 của icu4c.

Đầu tiên, tôi tìm phiên bản mà tôi có brew info icu4c, sau đó brew switch icu4c 60.2chọn một nút mà tôi mong đợi.


làm thế nào bạn xác định được rằng nút muốn có phiên bản 60.2 - cảm ơn
raison

1
@raison Phiên bản icu4c mà nút đang tìm kiếm nằm trong thông báo lỗi dyld. Trong trường hợp này 60,. So sánh với đầu ra của brew info icu4cđể tìm một phiên bản tương thích, ví dụ 60.2.
compactonk

Đó là câu trả lời hay nhất
saza

13

Có vẻ như tệp /usr/local/opt/icu4c/lib/libicui18n.58.dylibkhông tồn tại trong hệ thống của bạn.

Hãy đảm bảo rằng icu4cđã được cài đặt bằng Homebrew.

  1. brew info icu4c
  2. Nếu đã được cài đặt, hãy thử cài đặt lại: brew reinstall icu4c
  3. Nếu chưa được cài đặt, hãy thử cài đặt: brew install icu4c

12

Đối với seirra cao, chỉ cần "nâng cấp bia" làm cho phép thuật!


2
Tương tự đối với Mojave. Gặp sự cố với cài đặt PHP và chỉ cần nhập lệnh của bạn. Cảm ơn.
Julian Schmuckli 10/02/19

9

Đầu tiên, tôi gỡ cài đặt nút và icu4c, buộc gỡ cài đặt tất cả các phiên bản

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

Sau khi cài đặt phiên bản 8 của Node

brew install node@8

Nếu nó đã được cài đặt, vui lòng chỉ nâng cấp

brew upgrade node@8

Và nhập

node -v

v8.11.1


8

Đối với tôi, nó rõ ràng là một vấn đề với icu4ccài đặt từ brew.

brew reinstall icu4c

sẽ cài đặt lại icu4c.

nếu bạn chưa cài đặt nó,

brew install icu4c

1
Cảm ơn bạn rất nhiều, nó đã tiết kiệm cho tôi rất nhiều thời gian và công sức. Tìm kiếm câu trả lời này trong một thời gian rất dài.
DC

câu trả lời này nên được chấp nhận. mệnh lệnh này đã cứu tôi
Jais Anasrulloh Ja'fari

7

Điều này đã được kích hoạt cho tôi sau một brew upgradebrew updatechạy. Tôi đã có thể khắc phục nó bằng cách chỉ cần cài đặt lại hai mục được gắn cờ là sự cố (điều này có ý nghĩa với tôi):

brew reinstall node
brew reinstall icu4c

4

Không có điều nào ở trên phù hợp với tôi. Tôi đang sử dụng High Sierra.

Điều gì đã sửa nó cho tôi là brew upgrade



3

Tôi đã tìm thấy một giải pháp hoạt động tuyệt vời ở đây . Tôi sẽ đưa ra các lệnh ngắn gọn bên dưới.

Đầu tiên, cd vào thư mục công thức homebrew:

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

Nhật ký git:

git log --follow icu4c.rb

Chọn băm cam kết phù hợp với phiên bản bạn cần. Tôi cần phiên bản 61.1, do đó đã chọn 6d9815cam kết:

git checkout -b icu4c-61.1 6d9815

Cài đặt lại:

brew reinstall ./icu4c.rb

Công tắc điện:

brew switch icu4c 61.1

Điều đó đã sửa nó cho tôi.

Tín dụng: hanxue


1
cũng là một bản sửa lỗi chung tuyệt vời cho các vấn đề thư viện khác! có vấn đề này với các thư viện khác trước đó, nhưng đây là bởi đến nay các giải pháp sạch (với git branch, và chỉ kiểm tra trên các phiên bản cũ hơn là tự chỉnh sửa công thức)
Ricky Nấu

1

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


1

Lỗi này được đưa ra cho tôi sau khi di chuyển máy.

Mặc dù mọi thứ đã được cài đặt, khi tôi kiểm tra node -vhoặcnpm version , tôi vẫn gặp lỗi này.

Điều gì đã sửa nó được brew reinstall icu4c.


1

Tôi đã gặp vấn đề tương tự với cài đặt php cục bộ của mình.

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

Đã giải quyết vấn đề với lệnh này. (kiểm tra phiên bản của bạn)

brew link --overwrite --force php@7.1

1

Tôi đã sửa bởi

cd /usr/local/Cellar
rm -rf node*/
rm -rf icu4c/
brew install node

0

Có vẻ như đường dẫn tham chiếu icu4u của bạn không được đặt đúng cách

trước tiên hãy kiểm tra xem bạn có thể cài đặt icu4c hay không bằng cách đặt bình luận bên dưới trong phần bình luận

brew info icu4c

hoặc cài đặt lại

brew reinstall icu4c

Nếu bạn cần có phần mềm này trước khi chạy PATH:

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

hy vọng Điều này có thể giúp đỡ !!!!!


0

Nó dễ dàng như một phần mềm thông thường, chỉ cần tải xuống gói cài đặt từ trang web chính thức: NodeJS

và sau đó tải xuống phiên bản được đề xuất (hiện tại là 8.11.3, kết thúc bằng .pkg), cài đặt nó như một phần mềm thông dụng, sau đó bạn có thể sử dụng nó. Tôi đã thử rất nhiều phương pháp, và chỉ có cách này phù hợp với tôi.


0

Thử khởi động lại máy của bạn. Điều đó đã giúp tôi.


0

Tôi đã xóa export PATH="/usr/local/opt/icu4c/bin:$PATH"khỏi ~/.bash_profiletệp của mình và nó đã khắc phục được sự cố của tôi.

Lỗi của tôi là:

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

Của tôi /usr/local/opt/icu4c/libchứalibicui18n.64.dylib

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.