dyld: библиотека не загружена: /usr/local/opt/icu4c/lib/libicui18n.62.dylib ошибка запуска php после установки узла с brew на Mac - PullRequest
0 голосов
/ 18 декабря 2018

Я установил узел с помощью homebrew (Mojave), после чего php перестал работать, и если я пытаюсь запустить php -v, я получаю эту ошибку:

php -v
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib
  Referenced from: /usr/local/bin/php
  Reason: image not found

Я пытался удалить оба узла и icu4c, но проблемасохраняется

Ответы [ 14 ]

0 голосов
/ 05 августа 2019

Это исправило это для меня:

brew upgrade node
0 голосов
/ 21 июня 2019

У меня были проблемы, потому что моя версия PHP (7.3) ожидала, что icu4c 63 и brew установит только 64.

https://stackoverflow.com/a/55828190/2000947 помог мне установить 63.

0 голосов
/ 31 июля 2019

Чтобы понизить версию, мне пришлось перекомпилировать из исходного кода (MacOS Mojave)

$ wget https://ssl.icu-project.org/files/icu4c/62.1/icu4c-62_1-src.tgz
$ tar xvfz icu4c-62_1-src.tgz
$ cd icu/sources
$ ./configure
$ make
$ make install
0 голосов
/ 09 мая 2019

Запустите npm version и посмотрите, видите ли вы ту же ошибку.

Если это так, обновите версию своего узла brew upgrade npm.

==> Upgrading 1 outdated package, with result:
npm 8.1.2 -> 10.3.0
==> Upgrading npm
==> Installing dependencies for node: icu4c
==> Installing node dependency: icu4c

Кредиты

0 голосов
/ 21 мая 2019

Я на самом деле очень удивлен, что это решение еще не было представлено, и я чувствую, что это самое простое решение.

Перейдите на GitHub, найдите версию brewfile, которая соответствует версии icu4c что вам нужно и получите сырую версию файла (перейдите по ссылкам выше и нажмите View File, затем Raw).

Затем просто переустановите brew с этого URL.

Дляпример, версия 62.1:

brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/575eb4bbef683551e19f329f60456b13a558132f/Formula/icu4c.rb
0 голосов
/ 21 марта 2019

Ответ Леланда мне помог, но мне пришлось изменить шаги 4 и 6 на:

4) git checkout -B icu4c-62.1 575eb4b

6) brew, переустановить Formula / icu4c.гь

0 голосов
/ 24 марта 2019

Получил эту ошибку тоже после установки php 7.3.У меня было решено обновить только мои старые версии php (5.6 и 7.0, а не из официальных репозиториев).

Сопровождающие скомпилировали новые версии php для текущей версии icu4c.

В моем случае PHP 7 получил от 0,31 до 0,33, и проблема была решена.

0 голосов
/ 25 февраля 2019

Примечание - Это обновит вашу версию PHP.

У меня была такая же проблема.Обновление Homebrew и затем очистка работали для меня.Эта ошибка, вероятно, обнаружилась для меня из-за несоответствия версий пакета.Ни одно из вышеперечисленных решений не устранило мою ошибку, но выполнение следующих команд homebrew помогло:

brew upgrade

Внимание - Это обновит все ваши пакеты brew.Если вы хотите обновить только определенные пакеты, убедитесь, что они указаны.

brew upgrade // for upgrading all packages -- this is the command I used

brew upgrade {package} // for upgrading a specific package

, а затем

brew cleanup
0 голосов
/ 06 марта 2019

Похоже, невозможно связать icu4c с помощью brew после последнего обновления OS X.Что делает вещи более интересными.Единственное решение, которое я нашел для меня:

  1. Скачать и скомпилировать icu4c 62,1 до /usr/local/icu4c/62.1
mkdir ~/sources
cd ~/sources
wget http://download.icu-project.org/files/icu4c/62.1/icu4c-62_1-src.tgz
tar xvzf icu4c-62_1-src.tgz
cd icu/source/

sudo mkdir /usr/local/icu4c/62.1
./configure --prefix=/usr/local/icu4c/62.1
make
sudo make install
Ссылочные библиотеки:
ln -s /usr/local/icu4c/62.1/lib/*.dylib /usr/local/include/
Set DYLD_LIBRARY_PATH in ~/.bash_profile:
export DYLD_LIBRARY_PATH=/usr/local/include

Надеюсь, это сэкономит вам несколько часов.

0 голосов
/ 25 февраля 2019

Просто brew remove php и brew install php не работали, равно как и brew reinstall php.Мое решение было сделать:

brew remove php
cd /usr/local/Cellar
rm -rf php/
brew install php
brew doctor
brew cleanup

Теперь php -v дает мне:

PHP 7.3.2 (cli) (built: Feb 14 2019 10:08:45) ( NTS )
...