Я установил узел с помощью 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, но проблема остается
В моем случае это произошло из-за того, что icu4c был обновлён до версии 63, но мой локально установленный образ postgres все еще ссылался на icu4c 62.1. Поэтому мне пришлось изменить используемую версию icu4c:
brew switch icu4c 62.1
У меня была такая же проблема после того, как я обновил свой macOS
к версии 10.13.6
, Я не могу бежать composer
а также php
команды. Проведя некоторое время в поисках различных решений, размещенных в Интернете, переустановите php с помощью homebrew
работал.
brew reinstall php
Оказывается, мне, как @Grey Black, пришлось фактически установить v62.1 из icu4c. Больше ничего не получалось.
Тем не мение, brew switch icu4c 62.1
работает только если вы установили 62.1 в прошлом. Если у вас нет, там больше работы. Доморощенный делает не облегчить установку предыдущие версии формул.
Вот как я это сделал:
git -C (brew --repo homebrew/core) fetch --unshallow
brew log icu4c
отследить коммит, который ссылается на 62.1; 575eb4b
делает трюк.cd $(brew --repo homebrew/core)
git checkout 575eb4b -- Formula/icu4c.rb
brew uninstall --ignore-dependencies icu4c
brew install icu4c
Теперь у вас должна быть правильная версия зависимости! Теперь просто …git reset && git checkout .
Очистите свой измененный рецепт.Добавил пару дополнительных заметок, спасибо @Noah за улов
Вместо того, чтобы установить старую версию icu4c
что старый (предварительно скомпилированный) php может ссылаться на него, лучше перекомпилировать старый php для ссылки на более новую библиотеку.
brew uninstall php@7.2
brew install --build-from-source php@7.2
Это соберет php и свяжет его с новой библиотекой. я нашел reinstall
не совсем работал; новая установка захлебнулась, когда папка назначения уже существовала.
Я тоже сделал brew link --force php@7.2
для моего окружения.