Mac OSSierraでbrewを使用したノードのインストールが失敗する


92

macOSSierraにhomebrewでノードをインストールしようとしています。走る

 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
おそらく、これは(置き換えphp56node)ことができますが、私は、Mac自分のために公式のNode.jsのインストーラを使用しています。
robertklep 2017年

6
これは私のために働いた:brew update && brew restart nodejs
Scott Flack

ここでgithubのスレッドを見つけてくださいgithub.com/Homebrew/homebrew-core/issues/11713–
Simon Franzen

@ ScottFlack、brewアップデート; brewの再インストールnodejs機能する可能性があります。これは、brewの更新がゼロ以外で終了しても(たとえば、タップの設定ミスや未使用が原因で)再インストール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 HighSierraで私のために働いた。私は--forceの必要性を決して理解しないことを誓います。「今回は本当に意味が…」みたいな感じです。
マット

3
これを機能させるには、ノード8もアンインストールする必要がありました。brew uninstall node@8medium.com/@mahcloud/mac-brew-node-10-upgrade-55d3e910eebb
jkschneider 2018

6
コマンドをアンインストールするために--ignore-dependenciesを追加し、それはうまく機能しました。
Almas Dusal 2018

1
強制的にアンインストールして再インストールするだけでうまくいきました!
グレイストライプ

1
NPMicu4cは他のアプリケーションへの依存関係であるため、アンインストールできないというエラーが発生する場合があります。この実行を回避するには:brew uninstall --ignore-dependencies icu4c && brew install icu4c。このコマンドは、@ mircealunguの2番目のコマンドに代わるものです。
リールヤード

68

私の場合、brew upgrade node問題を解決してください:)


8
私はあなたがbrew upgrade代わりに欲しいと思う、update私にエラーを与えた。
getmicah

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 2017年

1
brew経由でphp56-pgsqlをインストールした後、この問題が発生しました。これは私にとっては修正です。
フェリーチェオストゥーニ2018年

3
おかげで、この答えは私の命を救いました。これらのステップ以外でやらなければならなかったことがいくつかあります。
yoshi 2018

24

ノードをアップグレードすると問題が修正されました。

brew upgrade node 

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予期していた1つのノードを選択しました。


ノードがバージョン60.2を必要としていることをどのように判断しましたか-ありがとう
存在理由2018年

1
@raisonノードが探しているicu4cのバージョンは、dyldエラーメッセージにあります。この場合、60。それをの出力と比較して、brew info icu4c互換性のあるバージョンを見つけます60.2
neatonk

それがベストアンサーです
saza

13

/usr/local/opt/icu4c/lib/libicui18n.58.dylibシステムにファイルが存在しないようです。

icu4cHomebrewでインストールされていることを確認してください。

  1. brew info icu4c
  2. すでにインストールされている場合は、再インストールしてみてください。 brew reinstall icu4c
  3. インストールされていない場合は、次のものをインストールしてみてください。 brew install icu4c

12

ハイセイラの場合、「醸造アップグレード」だけで魔法がかかります!


2
Mojaveについても同じです。PHPのインストールに問題があり、コマンドを入力しただけです。ありがとう。
JulianSchmuckli19年

9

まず、ノードとicu4cをアンインストールし、すべてのバージョンを強制的にアンインストールします

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

ノードのバージョン8をインストールした後

brew install node@8

すでにインストールされている場合は、アップグレードしてください

brew upgrade node@8

そして入力します

node -v

v8.11.1


8

私にとって、それは明らかにicu4cbrewからのインストールに問題がありました。

brew reinstall icu4c

再インストールしicu4cます。

インストールしていない場合は、

brew install icu4c

1
どうもありがとうございました、それは私に多くの時間と労力を節約しました。非常に長い間この答えを探しています。
DC

これは受け入れられるべき答えです。このコマンドは私を救った
Jais Anasrulloh Ja'fari

7

これは、abrew upgradebrew update実行後にトリガーされました。問題としてフラグが立てられた2つのアイテムを再インストールするだけで修正できました(これは私には理にかなっています)。

brew reinstall node
brew reinstall icu4c

4

上記のどれも私にはうまくいきませんでした。HighSierraを使用しています。

私にとってそれを修正したのは brew upgrade


3

私には何も機能しませんでしたが、これを実行すると機能しました

brew link --overwrite node

3

私はここでうまく機能する解決策を見つけました。以下のコマンドを簡単に説明します。

まず、自作式ディレクトリにcdします。

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のブランチに、そしてちょうど古いバージョンをチェックアウトするのではなく、手動式の編集)
リッキー・クックを


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

1

私はによって修正しました

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

0

icu4u参照パスが正しく設定されていないようです

最初に、コメントpromtにコメントを入力して、icu4cをインストールするかどうかを確認します。

brew info icu4c

または再インストール

brew reinstall icu4c

PATHで最初にこのソフトウェアを実行する必要がある場合:

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

これが役立つかもしれないことを願っています!!!!!


0

一般的なソフトウェアと同じくらい簡単です。公式サイトNodeJSからインストールパッケージをダウンロードするだけです。

次に、推奨バージョン(現在は8.11.3、末尾は.pkg)をダウンロードし、共通のソフトウェアとしてインストールすると、uで使用できるようになります。私は非常に多くの方法を試しましたが、これだけがうまくいきます。



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.