Mac OS Sierra'da brew ile düğüm yükleme başarısız oluyor


92

MacOS Sierra'da homebrew ile node kurmaya çalışıyorum. koşarım

 brew install node

Görünüşte başarılı bir kurulumdan sonra, çalıştırmaya çalışırken aşağıdakileri alıyorum 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
Belki bu (replace php56ile node) yardımcı olur, ancak ben Mac kendim için resmi node.js yükleyiciyi kullanın.
robertklep

6
bu benim için çalıştı: brew update && brew yeniden nodejs
Scott Flack


@ScottFlack, brew güncellemesi; brew yeniden yükleme düğümleri de işe yarayabilir, çünkü yeniden yükleme düğümleri sıfırdan farklı çıkmasına rağmen (örneğin, yanlış yapılandırılmış veya kullanılmamış bir musluk nedeniyle) demleme güncellemesinden geçebilir .
emallove

Yanıtlar:


108

Bu, @robertklep ve @vovkasm tarafından önerilen bu bağlantıya dayanarak sonunda benim için işe yarayan bir dizi büyülü sözler dizisi.

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

Bunların hepsine ihtiyaç olup olmadığından emin değilim, ancak makinemi önceki durumda alamadığım için ... Bu bilgiyi sadece burada bırakacağım, belki başkası için faydalı olacaktır.


3
Bunun için teşekkürler. Benim için Mac Os 10.13.4 High Sierra'da çalıştı. Yemin ederim --kuvvet ihtiyacını asla anlayamayacağım. "Bu sefer gerçekten ciddiyim ..." gibi.
Matt

3
Bunun çalışması için düğüm 8'i de kaldırmam gerekti. brew uninstall node@8. Bkz medium.com/@mahcloud/mac-brew-node-10-upgrade-55d3e910eebb
jkschneider

6
Komutları kaldırmak için --ignore-bağımlılıkları eklendi ve harika çalıştı.
Almas Dusal

1
Sadece kaldırmaya ve yeniden yüklemeye zorla benim için çalıştı!
Graystripe

1
NPM ile icu4cdiğer uygulamalara bağımlı olduğu için kaldırılamayacağını söyleyen bir hatayla karşılaşabilirsiniz . Bu çalıştırmak etrafında almak için: brew uninstall --ignore-dependencies icu4c && brew install icu4c. Bu komut @ mircealungu'nun 2. komutunun yerini alır.
reelyard

68

Benim durumumda brew upgrade nodesorunu çöz :)


8
Sanırım brew upgradeonun yerine istiyorsun , updatebana bir hata verdi.
getmicah

31

Yüklemeye çalışırken bu hatayı aldım @angular/cli, fark edilen düğüm güncel olmayabilir. @Mircealungu'nun kesin adımlarının ardından, benim için pek işe yaramadı, işte benim için çalışan değiştirilmiş sürüm.

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
Bu benim için yaptı. Ayrıca şu anki projemin node_modules ( rm -rf node_modules) 'i öldürmesine yardımcı oldu npm install.
notacouch

1
Php56-pgsql'yi brew aracılığıyla kurduktan sonra bu sorunu yaşadım, bu benim için düzeltildi.
Felice Ostuni

3
Teşekkürler, bu cevap hayatımı kurtardı. Bu adımların dışında yapmam gereken bazı şeyler var.
yoshi

24

Düğümün yükseltilmesi bir sorunu çözdü.

brew upgrade node 

23

Yakın zamanda benzer bir sorunla karşılaştım ( brew switch node 9.8.0önceki bir düğüm sürümüne düşürdükten sonra )

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

Sorun, düğümün hangi icu4c sürümünü aradığı konusunda seçici olması ve yüklediğim sürümün (62) düğümün beklediğinden daha yüksek olması.

Düzeltmek için icu4c'nin 60 sürümünün seçildiğinden emin oldum.

Önce hangi sürümlere sahip olduğumu buldum brew info icu4c, sonra brew switch icu4c 60.2beklediğim düğümü seçtim .


düğümün 60.2 sürümünü istediğini nasıl belirlediniz - teşekkürler
raison

1
@raison Düğümün aradığı icu4c sürümü dyld hata mesajında. Bu durumda 60. brew info icu4cUyumlu bir sürüm bulmak için bunu ürününün çıktısıyla karşılaştırın , ör 60.2.
neatonk

En iyi cevap bu
saza

13

Görünüşe göre dosya /usr/local/opt/icu4c/lib/libicui18n.58.dylibsisteminizde yok.

Lütfen icu4cHomebrew ile yüklendiğinden emin olun .

  1. brew info icu4c
  2. Zaten kuruluysa yeniden yüklemeyi deneyin: brew reinstall icu4c
  3. Yüklenmemişse, yüklemeyi deneyin: brew install icu4c

12

Yüksek seirra için, sadece "demleme güncellemesi" sihir yapar!


2
Mojave için de aynı. PHP kurulumunda sorun yaşadım ve sadece komutunuzu yazdınız. Teşekkürler.
Julian Schmuckli

9

Önce node ve icu4c'yi kaldırıyorum, tüm sürümleri kaldırmaya zorluyorum

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

Node'un 8. sürümünü yükledikten sonra

brew install node@8

Zaten yüklüyse, lütfen sadece yükseltin

brew upgrade node@8

Ve girin

node -v

v8.11.1


8

Benim için görünüşe göre icu4cbrew'den kurulumla ilgili bir problemdi .

brew reinstall icu4c

yeniden yükleyecektir icu4c.

eğer yüklemediyseniz,

brew install icu4c

1
Çok teşekkür ederim, bana çok zaman ve emek kazandırdı. Bu cevabı çok uzun zamandır aramak.
DC

bu cevap kabul edilmelidir. bu komut beni kurtardı
Jais Anasrulloh Ja'fari

7

Bu benim için bir brew upgradeve brew updatekoştuktan sonra tetiklendi . Sorun olarak işaretlenen iki öğeyi yeniden yükleyerek sorunu çözebildim (bu bana mantıklı geldi):

brew reinstall node
brew reinstall icu4c

4

Yukarıdakilerin hiçbiri benim için işe yaramadı. High Sierra kullanıyorum.

Benim için düzelten şey brew upgrade


3

Benim için hiçbir şey işe yaramadı ama bunu çalıştırmak işe yaradı

brew link --overwrite node

3

Burada harika çalışan bir çözüm buldum . Aşağıda kısaca komutları vereceğim.

İlk olarak, homebrew formül dizinine cd:

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

Git günlüğü:

git log --follow icu4c.rb

İhtiyacınız olan sürümle eşleşen kesinleştirme karmasını seçin. 61.1 sürümüne ihtiyacım vardı, bu nedenle commit'i seçtim 6d9815:

git checkout -b icu4c-61.1 6d9815

Yeniden yükle:

brew reinstall ./icu4c.rb

Değiştirmek:

brew switch icu4c 61.1

Bu benim için sorunumu çözdü.

Kredi bilgileri: hanxue


1
ayrıca diğer kitaplık sorunları için harika bir genel düzeltme! bu sorunu daha önce diğer kütüphanelerle yaşadım, ancak bu açık arayla en temiz çözümdür (git dalıyla ve formülü manuel olarak düzenlemek yerine sadece eski sürümleri kontrol ederek)
Ricky Cook

1

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


1

Bu hata bana makinelerin taşınmasından sonra verildi.

Her şey kurulu olmasına rağmen, kontrol etmeye gittiğimde node -vveya npm versionbu hatayı alıyordum.

Ne düzeltti brew reinstall icu4c.


1

Yerel php kurulumumla aynı sorunu yaşadım.

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

Bu komutla sorunu çözdüm. (sürümünüzü kontrol edin)

brew link --overwrite --force php@7.1

1

Tarafından düzelttim

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

0

icu4u Referans yolunuz doğru ayarlanmamış gibi görünüyor

Önce, yorum istemine aşağıdaki yorumu koyarak icu4c'yi kurup kurmayacağınızı kontrol edin

brew info icu4c

ya da yeniden yükleyin

brew reinstall icu4c

Bu yazılıma önce PATH çalıştırmanızda ihtiyacınız varsa:

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

Umarım bu yardımcı olabilir !!!!!


0

Yaygın bir yazılım kadar kolaydır, yükleme paketini resmi siteden indirin: NodeJS

ve sonra önerilen bir sürümü indirin (şu anda 8.11.3, ile biten .pkg), bunu ortak bir yazılım olarak kurun, sonra onu kullanabilirsiniz. Çok fazla yöntem denedim ve sadece bu benim için çalışıyor.


0

Makinenizi yeniden başlatmayı deneyin. Bu bana yardımcı oldu.


0

Ben kaldırıldı export PATH="/usr/local/opt/icu4c/bin:$PATH"benim dan ~/.bash_profiledosya ve benim sorun giderildi.

Benim hatam şuydu:

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

Benim /usr/local/opt/icu4c/libiçerirlibicui18n.64.dylib

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.