Установка node с brew завершается с ошибкой на Mac OS Sierra

Я пытаюсь установить node с 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

Это серия заклинаний, которые в конечном итоге сработали для меня на основе этой ссылки, предложенной @robertklep и @vovkasm.

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

Я не уверен, что все они нужны, но, учитывая, что я не могу получить свою машину в предыдущем состоянии... Я просто оставлю эту информацию здесь, может быть, это будет полезно для кого-то еще,

Ответ 2

В моем случае, brew upgrade node решает проблему :)

Ответ 3

Ну, я получил эту ошибку, пытающуюся установить @angular/cli, реализованный node может быть устаревшим. После @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

Ответ 4

Усовершенствованный узел исправил проблему.

brew upgrade node 

Ответ 5

Недавно я столкнулся с подобной проблемой (после того, как вы brew switch node 9.8.0 для 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), была выше ожидаемого узла.

Чтобы исправить это, я убедился, что выбрана версия 60 icu4c.

Сначала я нашел, какие версии у меня были с brew info icu4c, затем сделал brew switch icu4c 60.2 чтобы выбрать тот узел, который ожидал.

Ответ 6

Кажется, файл /usr/local/opt/icu4c/lib/libicui18n.58.dylib не существует в вашей системе.

Убедитесь, что icu4c установлен с Homebrew.

  • brew info icu4c
  • Если он уже установлен, попробуйте переустановить: brew reinstall icu4c
  • Если не установлен, попробуйте установить: brew install icu4c

Ответ 7

Сначала я удаляю узел и icu4c, принудительно удалять все версии

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

После установки версии 8 узла

brew install [email protected]

Если он уже установлен, просто обновите

brew upgrade [email protected]

И введите

node -v

v8.11.1

Ответ 8

Это было вызвано для меня после brew upgrade brew update. Я смог исправить это, просто переустановив два элемента, помеченные как проблемы (что имело смысл для меня):

brew reinstall node
brew reinstall icu4c

Ответ 9

Для высокой seirra, просто "brew upgrade" делает магию!

Ответ 10

Ничто из этого не помогло мне. Я использую High Sierra.

Для меня это было brew upgrade

Ответ 11

Ничто не работало для меня, но это работало

brew link --overwrite node

Ответ 12

Я нашел решение, которое отлично работает здесь. Я кратко приведу команды ниже.

Сначала перейдите в каталог формул доморощенного кофе:

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

Git log:

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

Ответ 13

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

Ответ 14

Эта ошибка была передана мне после переноса машин.

Несмотря на то, что все было установлено, когда я пошел проверить node -v или npm version, я бы получил эту ошибку.

Что было исправлено, это brew reinstall icu4c.

Ответ 15

кажется, что ваш icu4u Исходный путь не установлен правильно

сначала проверьте, что вы можете установить icu4c или нет, помещая ниже комментарий в комментарий promt

brew info icu4c

или переустановить

brew reinstall icu4c

Если вам нужно сначала запустить это программное обеспечение в своем запуске PATH:

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

Надеюсь, это может помочь!!!!!

Ответ 16

Это просто, как обычное программное обеспечение, просто загрузите установочный пакет с официального сайта: NodeJS

а затем загрузите рекомендованную версию (в настоящее время 8.11.3, конец с .pkg), установите ее как общее программное обеспечение, затем вы можете ее использовать. Я пробовал так много методов, и только это работает для меня.

Ответ 17

У меня была такая же проблема с моей локальной установкой 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 [email protected]

Ответ 18

Я удалил 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/[email protected]/bin/node
  Reason: image not found
Abort trap: 6

Мой /usr/local/opt/icu4c/lib содержит libicui18n.64.dylib

Ответ 19

Для меня это была проблема с установкой icu4c от brew.

brew reinstall icu4c

переустановит icu4c.

если он не установлен,

brew install icu4c

Ответ 20

Попробуйте перезагрузить компьютер. Это помогло мне.