Gagal menginstal node dengan brew di Mac OS Sierra

92

Saya mencoba menginstal node dengan homebrew di macOS Sierra. saya berlari

 brew install node

Setelah pemasangan yang tampaknya berhasil, saya mendapatkan yang berikut saat mencoba menjalankan 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
mircealungu
sumber
1
Mungkin ini (ganti php56dengan node) membantu, tetapi saya sendiri menggunakan penginstal Node.js resmi untuk Mac.
robertklep
6
ini berhasil untuk saya: brew update && brew instal ulang nodejs
Scott Flack
Temukan utasnya
Simon Franzen
@ScottFlack, pembaruan minuman; brew instal ulang nodejs juga dapat berfungsi, karena instal ulang nodejs dapat lewat meskipun pembaruan bir keluar bukan nol (misalnya, karena keran yang salah konfigurasi atau tidak digunakan).
emallove

Jawaban:

108

Ini adalah seri dari mantra yang akhirnya bekerja untuk saya berdasarkan ini link yang disarankan oleh @robertklep dan @vovkasm.

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

Saya tidak yakin apakah semuanya diperlukan, tetapi karena saya tidak bisa mendapatkan mesin saya dalam kondisi sebelumnya ... Saya akan meninggalkan info ini di sini, mungkin ini akan berguna untuk orang lain.

mircealungu
sumber
3
Terima kasih untuk ini. Bekerja untuk saya di Mac Os 10.13.4 High Sierra. Aku bersumpah aku tidak akan pernah mengerti perlunya - force. Ini seperti "Aku sungguh-sungguh, kali ini ...".
Matt
3
Saya juga harus menghapus node 8 agar ini berfungsi. brew uninstall node@8. Lihat medium.com/@mahcloud/mac-brew-node-10-upgrade-55d3e910eebb
jkschneider
6
Menambahkan --ignore-dependencies untuk menghapus perintah dan berfungsi dengan baik.
Almas Dusal
1
Cukup paksa uninstal dan instal ulang berhasil untuk saya!
Graystripe
1
Anda mungkin mengalami kesalahan dengan NPM yang mengatakan bahwa NPM tidak dapat menghapus instalan icu4ckarena ini merupakan ketergantungan untuk aplikasi lain. Untuk menyiasati run ini: brew uninstall --ignore-dependencies icu4c && brew install icu4c. Perintah ini menggantikan perintah ke-2 @ mircealungu.
Reelyard
68

Dalam kasus saya, brew upgrade nodeselesaikan masalah :)

ice6
sumber
8
Saya pikir Anda ingin brew upgradesebaliknya, updatememberi saya kesalahan.
getmicah
31

Saya mendapat kesalahan ini saat mencoba menginstal @angular/cli, simpul yang disadari mungkin sudah ketinggalan zaman. Mengikuti langkah-langkah @mircealungu yang sebenarnya tidak berhasil bagi saya, berikut adalah versi modifikasi yang berhasil untuk saya.

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
ishandutta2007
sumber
2
Ini berhasil untuk saya. Juga membantu untuk proyek saya saat ini untuk hanya membunuh node_modules ( rm -rf node_modules) dan npm installlagi.
notacouch
1
Saya mendapat masalah ini setelah menginstal php56-pgsql melalui brew, perbaikan ini untuk saya.
Felice Ostuni
3
Terima kasih, jawaban ini menyelamatkan hidup saya. Ada beberapa hal yang harus saya lakukan di luar langkah-langkah ini.
yoshi
24

Mengupgrade node memperbaiki masalah.

brew upgrade node 
mkkrolik
sumber
23

Saya baru-baru ini mengalami masalah serupa (setelah melakukan brew switch node 9.8.0downgrade ke versi node sebelumnya)

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

Masalahnya adalah node itu pilih-pilih tentang versi icu4c mana yang dicari, dan versi yang saya instal (62) lebih tinggi dari yang diharapkan node.

Untuk memperbaikinya, saya memastikan saya telah memilih versi 60 dari icu4c.

Pertama saya menemukan versi mana yang saya miliki brew info icu4c, lalu lakukan brew switch icu4c 60.2untuk memilih satu node yang diharapkan.

amcvitty
sumber
bagaimana Anda menentukan bahwa node menginginkan versi 60.2 - terima kasih
raison
1
@raison Versi icu4c yang dicari node ada dalam pesan kesalahan dyld. Dalam kasus ini 60,. Bandingkan dengan keluaran brew info icu4cuntuk menemukan versi yang kompatibel, mis 60.2.
neatonk
Itu jawaban terbaik
saza
13

Sepertinya file /usr/local/opt/icu4c/lib/libicui18n.58.dylibtidak ada di sistem Anda.

Harap pastikan bahwa icu4cdiinstal dengan Homebrew.

  1. brew info icu4c
  2. Jika sudah terinstal, coba instal ulang: brew reinstall icu4c
  3. Jika tidak diinstal, coba instal: brew install icu4c

sumber
12

Untuk seirra tinggi, hanya "peningkatan minuman" yang membuat keajaiban!

Basavaraj Hadimani
sumber
2
Sama juga untuk Mojave. Mengalami masalah dengan instalasi PHP dan hanya mengetikkan perintah Anda. Terima kasih.
Julian Schmuckli
9

Pertama saya menghapus node dan icu4c, memaksa untuk menghapus semua versi

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

Setelah menginstal versi 8 dari Node

brew install node@8

Jika sudah install silahkan langsung saja upgrade

brew upgrade node@8

Dan masuk

node -v

v8.11.1

Renan Bronchart
sumber
8

Bagi saya itu tampaknya masalah dengan icu4cinstalasi dari brew.

brew reinstall icu4c

akan menginstal ulang icu4c.

jika Anda belum menginstalnya,

brew install icu4c
ddavison.dll
sumber
1
Terima kasih banyak, ini menghemat banyak waktu dan tenaga saya. Mencari jawaban ini untuk waktu yang lama.
DC
ini harus menjadi jawaban yang diterima. perintah ini menyelamatkan saya
Jais Anasrulloh Ja'fari
7

Ini dipicu untuk saya setelah brew upgradedan brew updatelari. Saya dapat memperbaikinya hanya dengan menginstal ulang dua item yang ditandai sebagai masalah (yang masuk akal bagi saya):

brew reinstall node
brew reinstall icu4c
Kevin Leary
sumber
4

Semua hal di atas tidak berhasil untuk saya. Saya menggunakan High Sierra.

Yang memperbaikinya untukku adalah brew upgrade

markashworth
sumber
3

Tidak ada yang berhasil untuk saya tetapi menjalankan ini berhasil

brew link --overwrite node
zalavadiya yang keras
sumber
3

Saya menemukan solusi yang bekerja sangat baik di sini . Saya akan secara singkat memberikan perintah di bawah ini.

Pertama, cd ke direktori rumus homebrew:

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

Git log:

git log --follow icu4c.rb

Pilih hash komit yang sesuai dengan versi yang Anda butuhkan. Saya membutuhkan versi 61.1, jadi pilih 6d9815komit:

git checkout -b icu4c-61.1 6d9815

Instal ulang:

brew reinstall ./icu4c.rb

Beralih:

brew switch icu4c 61.1

Itu memperbaikinya untuk saya.

Kredit: hanxue

Sawant
sumber
1
juga perbaikan umum yang bagus untuk masalah perpustakaan lainnya! memiliki masalah ini dengan pustaka lain sebelumnya, tetapi sejauh ini solusi terbersih (dengan git branch, dan hanya memeriksa versi lama daripada mengedit formula secara manual)
Ricky Cook
1

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

rapaelec.dll
sumber
1

Kesalahan ini diberikan kepada saya setelah memigrasi mesin.

Meskipun semuanya sudah diinstal, ketika saya pergi untuk memeriksa node -vatau npm version, saya akan mendapatkan kesalahan ini.

Apa yang memperbaikinya brew reinstall icu4c.

Michael
sumber
1

Saya memiliki masalah yang sama dengan instalasi php lokal saya.

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

Memecahkan masalah dengan perintah ini. (periksa versi Anda)

brew link --overwrite --force php@7.1
Fred
sumber
1

Saya diperbaiki oleh

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

sepertinya jalur Referensi icu4u Anda tidak disetel dengan benar

pertama periksa Anda mungkin menginstal icu4c atau tidak dengan meletakkan komentar di bawah ini di promt komentar

brew info icu4c

atau instal ulang

brew reinstall icu4c

Jika Anda perlu memiliki perangkat lunak ini terlebih dahulu dalam menjalankan PATH Anda:

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

berharap ini bisa membantu !!!!!

sritharan
sumber
0

Semudah perangkat lunak biasa, cukup unduh paket instalasi dari situs resmi: NodeJS

dan kemudian unduh versi yang disarankan (saat ini 8.11.3, diakhiri dengan .pkg), instal sebagai perangkat lunak umum, lalu Anda dapat menggunakannya. Saya mencoba begitu banyak metode, dan hanya ini yang berhasil untuk saya.

Lau Real
sumber
0

Coba mulai ulang mesin Anda. Itu membantu saya.

Vygandas
sumber
0

Saya dihapus export PATH="/usr/local/opt/icu4c/bin:$PATH"dari saya~/.bash_profile file dan itu memperbaiki masalah saya.

Kesalahan saya adalah:

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/libIsi sayalibicui18n.64.dylib

y2knoproblem
sumber