Dyld: библиотека не загружена: /usr/local/opt/icu4c/lib/libicui18n.62.dylib ошибка запуска php после установки узла с пивом на Mac

Я установил узел с помощью 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, но проблема не исчезла.

Вы также установили php из Homebrew? Вы пытались переустановить php?

Ortomala Lokni 18.12.2018 21:14

Для потомков: удаление / переустановка пряжи / узла, похоже, помогает.

Nathaniel Ford 14.02.2019 08:31

согласно моему пониманию, это происходит, когда вы не соответствуете зависимостям версий. в моем случае команда "brew upgrade" устранила мои проблемы. пожалуйста, поправьте меня, если я в чем-то ошибаюсь.

sh6210 17.02.2019 15:38

Пока я получал это, проблема заключалась в том, что /usr/local/opt/icu4c не существовал, а brew reinstall icu4c выдал мне кучу проблем с отказом в разрешении для каталога icu4c. Итак, у меня sudo rm -rf /usr/local/Cellar/icu4c и brew reinstall icu4c, и все заработало.

Seth Johnson 16.02.2021 15:43

У меня странная ситуация (я использую High Sierra на устаревшей машине), но это произошло после того, как я обновил PHP до версии 7.2 (или попытался это сделать). Мое решение заключалось в переустановке узла из загруженного файла. Я считаю, что Homebrew ненадежен, если вы находитесь вне диапазона MacOS, поддерживаемых Apple.

David Rhoden 02.06.2021 04:06
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
492
5
247 200
34
Перейти к ответу Данный вопрос помечен как решенный

Ответы 34

У меня была такая же проблема после того, как я обновил свой macOS до версии 10.13.6. Я не могу запускать команды composer и php. После некоторого исследования и опробования различных решений, размещенных в Интернете, переустановка php с использованием homebrew сработала.

brew reinstall [email protected]

Добавлено 14 марта на основе комментария Райана

получите версию, которую вы используете в настоящее время, запустив php -v и получите правильные формулы (которые вы можете найти здесь: https://formulae.brew.sh/formula/php) для замены @7.1 в приведенной выше команде.

У меня такая же ошибка при запуске node после обновления macOS до 10.14.2, brew reinstall node тоже был для меня билетом

gnmerritt 19.12.2018 04:36

Я начал получать эту ошибку после установки нового пакета с brew. brew upgrade исправил это для меня.

samurai jack 09.01.2019 00:34
brew reinstall php может в конечном итоге установить версию, отличную от текущей. Возможно, вам придется указать версию с помощью [email protected]
Ryan 14.03.2019 05:58

вы не можете получить текущую версию, запустив php -v, если ваш php сломан: p

gingerCodeNinja 23.05.2019 19:55

@gingerCodeNinja, это правда, возможно, это может помочь: для Mac OS перейдите в терминал и запустите echo $PATH (если у вас есть php, вы должны увидеть что-то вроде этого: /usr/local/opt/[email protected]/bin). Это один из способов узнать, какие версии используются в настоящее время.

Arun Karnati 30.05.2019 22:39

В моем случае это произошло из-за того, что icu4c был обновлен до версии 63, но мой локально установленный образ postgres по-прежнему ссылался на icu4c 62.1. Поэтому мне пришлось изменить используемую версию icu4c:

 brew info icu4c
 brew switch icu4c <version>

Где version - это установленная версия, возвращаемая info

Это именно то, что случилось и со мной, и вы ввели меня на верный путь. Основным недостатком этого подхода является то, что вы должны предварительно установить эту версию. Я обошел это в своем ответе

Leland 20.01.2019 04:04

У меня 62.1 не было установлено. brew list icu4c показал файлы с /usr/local/Cellar/icu4c/63.1. brew switch icu4c 63.1 исправил это для меня.

Steven Ensslen 28.02.2019 03:34

Я нашел эту страницу после того, как обнаружил эту ошибку в моих журналах Postgres. Я также пробовал brew switch icu4c 63.1, но все равно получаю ту же ошибку в журналах даже после перезапуска postgres. Не уверенны что делать дальше...

Andrew 10.04.2019 01:31

В итоге я запустил brew reinstall postgres, и это, похоже, решило мои проблемы.

Andrew 10.04.2019 09:46

Помогает перейти на icu4c 61.1. 63.1 - не решить. 62.1 - не обнаружено.

Pavel Petrovich 13.04.2019 13:08

Спасибо @ gray-black, у меня это сработало. Я использую следующую версию MacOS Mojave 10.14.4 (18E226)

Sangam Pandey 22.05.2019 08:30

@ApoorvParijat 62.1 - это только то, что было установлено Gray Black, а не часть буквальной команды для каждого пользователя в каждой системе.

Abandoned Cart 07.06.2019 21:53

Магия. Помогло с 6.4 -> 6.3

Azee 11.06.2019 07:07

И у меня получился brew reinstall [email protected]

Rafał R 02.10.2019 23:07

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

darkdefender27 18.11.2019 18:28

Сработало для меня, но я думаю, вы имеете в виду «Где версия - это номер версии в сообщении« Библиотека не загружена »». 62 в случае ОП. 64.2 в моем случае.

Rooster242 19.05.2020 22:02

К сожалению, переключатель заваривания больше не доступен.

zenon 09.04.2021 06:42

Оказывается, мне, как и @Grey Black, пришлось установить версию 62.1 icu4c. Больше ничего не работало.

Однако brew switch icu4c 62.1 работает только в том случае, если вы ранее устанавливали 62.1. Если вы этого не сделали, вам потребуется больше беготни. Homebrew использует предыдущие версии формул не упростить установку.

Вот как я это сделал:

  1. Сначала нам нужен глубокий клон репозитория Homebrew. Это может занять некоторое время: git -C $(brew --repo homebrew/core) fetch --unshallow
  2. brew log icu4c для отслеживания фиксации, ссылающейся на 62.1; 575eb4b делает свое дело.
  3. cd $(brew --repo homebrew/core)
  4. git checkout 575eb4b -- Formula/icu4c.rb
  5. brew uninstall --ignore-dependencies icu4c
  6. brew install icu4c Теперь у вас должна быть правильная версия зависимости! А теперь просто ...
  7. git reset && git checkout . Очистите измененный рецепт.
  8. brew pin icu4c Закрепите зависимость, чтобы предотвратить ее случайное обновление в будущем

Если вы решите, что делать хотите обновить его в какой-то момент, обязательно запустите brew unpin icu4c

Когда я делаю brew log icu4c, получается всего 3-4 результата. Нет упоминания 62.1. Хеш, который вы использовали выше, тоже не работает. Удалили 62?

Noah 07.02.2019 16:14

Сначала вы должны выполнить git -C (brew --repo homebrew/core) fetch --unshallow, чтобы убедиться, что у вас есть полная история brew git.

Noah 07.02.2019 18:03

Так много драмы для обновления пряжи.

Eric Walker 10.02.2019 21:04

Это единственное решение, которое сработало для меня, спасибо! В моем случае проблема заключалась в пакете ffmpeg, который, как я полагаю, установил более новую версию icu4c. Ни обновление, ни обновление brew не помогли, ни переустановка, повторное связывание, сборка php из исходников.

gedijedi 19.02.2019 15:36

Мне нужна была еще более старая версия icu4c. Выполнение этих шагов, но поиск более старой фиксации сработал. Чтобы узнать, какая версия вам нужна, проверьте файл в сообщении об ошибке: libicui18n.61.dylib - в моем случае это означало, что мне нужна версия 61.

TheKarateKid 04.03.2019 23:43

Сработало для меня, за исключением того, что мне пришлось использовать git -C "$(brew --repo homebrew/core)" fetch --unshallow для шага # 1

Jason 11.03.2019 14:15

В моем случае мне нужен icu4c v63, поэтому связанная фиксация для проверки - bc0c97952453ff6afc146aa3a706e9902aba4300. Команда git - это git checkout bc0c97952453ff6afc146aa3a706e9902aba4300 -- Formula/icu4c.rb, а затем brew switch 63.1.

nahuelhds 23.04.2019 16:43

@gedijedi Недавно я установил ffmpeg и обнаружил ту же ошибку. Выполнение обновления (brew upgrade) автоматически разрешило проблему, и brew switch восстановил версию php, которую я использовал. Нет необходимости делать всю установку своими руками.

Abandoned Cart 07.06.2019 22:03

Я считаю, что есть более простой способ сделать это (установить "предыдущую" версию чего-то через bew) ... этот пост SO сработал для меня просто и безупречно: stackoverflow.com/a/55828190

leo 23.06.2019 11:14

Не забудьте сделать `` brew update '' перед brew install icu4c. Кроме того, выберите unshallow, показанная команда не работает, поэтому я сделал cd $ (brew --repo homebrew / core), затем получил --unshallow

Obromios 25.08.2019 00:04

работал отлично. Он исправил его node, php, python и все остальные зависимые пакеты.

Vinay Aggarwal 08.09.2019 12:09

Не знаю почему, но он снова установил версию 64.1 вместо 62.1. Думаю, перед повторной установкой потребуется brew update.

saberprashant 08.01.2020 14:04

это сработало для меня (как шарм!) большое спасибо! Я искал версию 64 (без второстепенного). Я нашел (поиск вручную в GitHub) этот коммит: 896d1018c7a4906f2c3fa1386aaf283497db60a2, который ссылается на версию «64.2», но это сработало! [email protected] теперь работает!

Khaleesi 09.07.2020 22:56

Это привело к появлению ==> Downloading https://ghcr.io/v2/homebrew/core/icu4c/manifests/67.1 #=#=-# # curl: (22) The requested URL returned error: 404 Error: Failed to download resource "icu4c_bottle_manifest" Download failed: https://ghcr.io/v2/homebrew/core/icu4c/manifests/67.1, когда я попытался получить версию 67.1 с github.com/Homebrew/homebrew-core/commit/….

bluepanda 04.05.2021 21:35

У меня не сработало, исправлено этим новым замечательным php-краном: github.com/shivammathur/homebrew-php

palmic 18.05.2021 13:41

Итак, brew пошел дальше. Изменилась структура команд и формат «формулы». Я прошел мимо формата, отредактировав рубин, чтобы он соответствовал новому формату. Хотя это мне не помогает, потому что, как сказал @bluepanda, https://ghcr.io/v2/homebrew/core/icu4c/manifests/64.2 больше нет. Однако я нашел альтернативную формулу, и она действительно сработала для меня: gist.github.com/bbatsche/c1c747bb9297661772ae7e106c556c3f. Я использовал wget, чтобы вытащить файл, а затем brew reinstall [email protected], а затем brew link Icu4c@64. Теперь я уйду к простоте моего бокса Archlinux :)

starfry 08.12.2021 17:43

Вместо того, чтобы устанавливать старую версию icu4c, на которую может ссылаться старый (предварительно скомпилированный) php, лучше перекомпилировать старый php для связывания с более новой библиотекой.

brew uninstall [email protected]
brew install --build-from-source [email protected]

Это соберет php и свяжет его с более новой библиотекой. Я обнаружил, что reinstall не совсем работает; новая установка захлебнулась, когда папка назначения уже существовала.

Я также сделал brew link --force [email protected] для своей среды.

Пробовал, но без улучшений; Однако команда Gray Black brew switch icu4c 62.1 у меня сработала.

Jamie Birch 12.02.2019 15:06

Только 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 )
Ответ принят как подходящий

Update - As stated in some of the comments, running brew cleanup could possibly fix this error, if that alone doesn't fix it, you might try upgrading individual packages or all your brew packages.

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

Caution - This will upgrade all your brew packages, including, but not limited to PHP. If you only want to upgrade specific packages make sure to be specific.

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

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

и наконец

brew cleanup

Это было просто

Alan 28.03.2019 12:18

Это сработало для меня после запуска команды brew link npm...., которая, похоже, нарушила composer, php и т. д.

aubreypwd 17.04.2019 17:05

@VincentTang при чем тут npm? Где ты это запустил?

evolutionxbox 26.04.2019 11:40

Я думаю, это не лучшая идея для тех, у кого есть среда с двумя версиями PHP, как у меня. Кроме того, brew upgrade обновит вашу версию PHP, и это не обязательно хорошо, если вашей целью является не обновление PHP, а устранение ошибки библиотеки.

mpoletto 02.05.2019 21:11

Хорошо для меня! После проблемы с Rails.

iGian 27.05.2019 22:59

@mpoletto Рекомендуется оставаться в актуальном состоянии (в целях безопасности), и homebrew предоставляет инструменты для установки более старой версии одной библиотеки, не подвергая риску всю среду, ваших пользователей и вашу систему. Если вы хотите использовать более старый php, это не должно происходить за счет размещения всей системы в капсуле времени.

Abandoned Cart 07.06.2019 21:58

@AbandonedCart Я думал о среде разработки, только на моей машине ... Представьте, что у меня есть две совершенно разные системы в двух производственных средах, одна с PHP 5.6, а другая с PHP 7.2. Я использую свою машину для разработки иногда до системы 5.6, а иногда до 7.2.

mpoletto 11.06.2019 23:01

@mpoletto Ничто из того, что вы представили, не является причиной, по которой мое предложение невозможно. У вас действительно не должно быть производственных систем, которые намеренно устаревают без уважительной причины.

Abandoned Cart 12.06.2019 00:51

Умно, но не сработало для меня, с другой стороны, переустановка php7.2 также не сработала в моей системе, так что, вероятно, причина, почему ...

leo 23.06.2019 11:08

Это лучшее решение, которое я пробовал до сих пор, выбранный ответ не сработал

Alleo Indong 09.07.2019 03:12

Я бы не стал этого делать, потому что brew upgrade обновит все ваши устаревшие пакеты, вместо этого, вероятно, только brew upgrade npm или конкретный пакет, а не все.

xgMz 16.07.2019 21:50

@xgMz Насчет этого вы правы. Меня не волновало, обновляю ли я все свои пакеты, но для кого-то, кто не хочет этого, это, вероятно, не очень хорошо. Я добавил примечание к своему решению. Спасибо!

Vim Diesel 17.07.2019 01:53

Ответ @Leland ниже - это то, что мне было нужно даже после очистки пивоварения и обновления конкретного пакета. Переключение пакета вручную сработало.

Vishnu Narang 29.03.2020 21:28

Это сработало еще до того, как я запустил очистку от пива. В моем случае ошибка не возникала, пока я не попытался запустить команду n98 (magento cli) через crontab. Это помогло.

Leo Fisher 16.04.2020 04:47

Я увидел brew upgrade и сразу невзлюбил.

tom10271 28.05.2020 08:52

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

Joey 13.07.2020 18:51

@Joey Мне жаль это слышать! Я знаю, что это решение помогло мне и другим. Если есть что-то, что я должен включить в этот ответ, чтобы этого не случилось с кем-то другим, дайте мне знать!

Vim Diesel 13.07.2020 19:51

Мне нужен был только brew cleanup, поскольку я уже сделал brew upgrade, и эта ошибка была результатом того, что с node.

Jonathan 16.11.2020 05:10

@AbandonedCart Я проголосовал отрицательно, потому что считал эту команду опасной для новичков. Это похоже на оценку новичков в Linux, которые используют rm -rf. Простите мое мнение.

mpoletto 08.01.2021 22:32

@mpoletto не беспокойтесь! Я стараюсь дать соответствующие предупреждения в ответ, чтобы любой, кто рассматривает решение, понял последствия.

Vim Diesel 09.01.2021 01:12

@mpoletto Я ценю вашу заботу о новичках, даже если я не уверен, почему меня отметили.

Abandoned Cart 10.01.2021 00:42

@AbandonedCart Извините, но он не отображается или я не вижу, где я вас отметил.

mpoletto 12.01.2021 15:32

Это ужасный ответ. Слишком общий. Люди, которые знают, что они делают, могут получить общее решение из конкретного решения, но люди, которые не знают, что они делают, не могут получить конкретное решение из такого общего решения, как это.

J.Ko 12.04.2021 20:28

@ J.Ko, ты не совсем неправ, но разве не работает хорошее решение? Эта ошибка может возникать из-за множества проблем с пивом и, похоже, помогла хотя бы нескольким людям выбраться из игры. Если у вас есть лучшее решение, я с радостью проголосую за ваш ответ.

Vim Diesel 12.04.2021 22:10

@VimDiesel У меня нет решения. Вот почему я здесь ищу. Тот, что ниже, от Grey Black, работал.

J.Ko 14.04.2021 00:09
brew upgrade у меня работал, чистка не нужна
abumalick 29.04.2021 11:22
brew cleanup работал у меня, но мне также пришлось сделать brew update-reset, чтобы потом исправить варево, как в этот ответ на другой вопрос.
StockB 05.05.2021 19:11

@xgMz спасибо, brew upgrade npm у меня работает после очистки

Prabowo Murti 17.11.2021 05:22

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

  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
  1. Ссылки на библиотеки:
ln -s /usr/local/icu4c/62.1/lib/*.dylib /usr/local/include/
  1. Установите DYLD_LIBRARY_PATH в ~/.bash_profile:
export DYLD_LIBRARY_PATH=/usr/local/include

Я использую PHP 7.1, и это единственное, что у меня сработало.

WebTigers 06.04.2020 21:37

В моем случае мне нужна была версия 64.2, поэтому я скачал ее с github.com/unicode-org/icu/releases/download/release-64-2/…

RafaelQm 13.05.2020 07:56

После обновления до OS Big Sur icu4c 67 отсутствовал, перепробовал все виды решений, но это было единственное, что сработало. Скачал с github.com/unicode-org/icu/releases/download/release-67-1/…. Спасибо!

Sabine 02.01.2021 17:35

Это было перемещено сюда: github.com/unicode-org/icu/releases/download/release-62-2/…

Maros 24.04.2021 01:06

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

4) git checkout -B icu4c-62.1 575eb4b

6) варите переустановите Formula / icu4c.rb

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

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

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

Разве это не покрывается другими ответами?

JJJ 24.03.2019 11:27

ИМО, нет. Один ответ говорит о перекомпиляции, и что мне нужно сделать, это «обновить».

David Fernández Rafael 25.03.2019 12:45

Я тоже получил эту ошибку после обновления из неофициального репо, но узел обновления brew исправил ее.

user3685048 22.05.2020 22:37

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

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

Кредиты

Сработало именно так, как вы сказали. npm version вызывал ту же ошибку, обновление npm исправило ее. Спасибо!

Jesse Mignac 25.01.2021 23:21

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

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

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

Например, версия 62.1:

brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/575eb4bbef683551e19f329f60456b13a558132f/Formula/icu4c.rb

Например, версия 64.2:

brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb

Обновлено:

Более поздние версии Homebrew могут потребовать от вас сначала загрузить файл. Если это так:

wget https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb
brew reinstall icu4c.rb

ты спасатель!

Brad Kent 11.10.2019 03:56

На самом деле это лучшее решение, если brew switch icu4c 62.1 не работает для вас в первую очередь.

saberprashant 08.01.2020 14:08

Это единственное, что у меня сработало после нескольких часов попыток исправить npm. Спасибо!

galfisher 30.01.2020 23:33

Сработало отлично! Чтобы исправить ошибку dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib, эта команда исправила ее: brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/a80‌​6a621ed3722fb580a580‌​00fb274a2f2d86a6d/Fo‌​rmula/icu4c.rb

John Kary 23.04.2020 22:35

Это было именно то решение, которое я искал. У меня были проблемы с версией valet-php, которая все еще использовала старую версию icu4c, тогда как brew обновился до более новой.

Kozie 24.04.2020 15:01

В моем случае это лучше, чем переустанавливать PHP, потому что у меня есть Oracle OCI, и переустанавливать его сложно. Спасибо

RafaelQm 13.05.2020 07:19

Для меня это лучшее решение. Я не хочу делать «апгрейд» всего, что сейчас не нужно.

januarvs 17.05.2020 16:57

К сожалению, варить апгрейд удаляет старую связанную версию и для людей, которые все еще хотят использовать новую версию и поддерживать пиво в актуальном состоянии: 1) Используйте указанную команду для установки более старой версии 2) Скопируйте каталог 64.2 из / usr / local / Подвал / icu4c / где-нибудь локально 3) Запустите brew upgrade, чтобы установить последнюю версию icu4c 4) Скопируйте сохраненный каталог в / usr / local / Подвал / icu4c / 5) Теперь вы можете переключаться между версиями: brew switch icu4c 64.2

Ilia Rebane 26.05.2020 19:59

Для icu4c 66: brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/22f‌​b699a417093cd1440857‌​134c530f1e3794f7d/Fo‌​rmula/icu4c.rb

Magnus 04.06.2020 23:18

Для icu4c 67: brew переустановить raw.githubusercontent.com/Homebrew/homebrew-core/…

Richard Frank 09.06.2020 07:05

Это больше не работает. Просит brew extract

brunouno 18.09.2020 03:53

@brunouno Нужно скачать .rb файл и сделать: brew reinstall icu4c.rb

Patrick Fabrizius 03.11.2020 16:23

версия 67,1: raw.githubusercontent.com/Homebrew/homebrew-core/…

Obed Parlapiano 24.03.2021 15:22

Обычно рекомендуется отказаться от определенных версий, но добавить это как другой вариант (с использованием master / latest). wget https://raw.githubusercontent.com/Homebrew/homebrew-core/mas‌​ter/Formula/icu4c.rb‌​; brew reinstall icu4c.rb

Matt Kenefick 13.05.2021 16:23

У меня не сработало, исправлено этим новым замечательным php-краном: github.com/shivammathur/homebrew-php

palmic 18.05.2021 13:41

У меня сработал простой запуск `brew переустановить icu4c. Спасибо, что повели меня в правильном направлении!

Joel Mellon 02.10.2021 01:03

Это решение сработало для меня. Я запустил curl https://raw.githubusercontent.com/Homebrew/homebrew-core/mas‌​ter/Formula/icu4c.rb -o icu4c.rb; brew reinstall icu4c.rb, и это устранило проблему.

Mike T 23.11.2021 20:30

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

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

после долгих поисков это то, что мне помогло. Спасибо

jarchuleta 24.01.2020 23:19

Чтобы перейти на более раннюю версию, мне пришлось перекомпилировать из исходников (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

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

brew upgrade node

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

hendrikbeck 14.10.2019 16:07

похоже, похожий случай,> "узел переустановки пивоварни" помог мне после перехода на Каталину

greencrest 21.11.2019 16:29

Как ни странно, эта ошибка /icu4c/lib/libicui18n.66.dylib внезапно возникла, когда я запускал rspec. Я спрятал несколько изменений кода, ошибка все еще обнаруживалась. обновление узла устранило проблему! Спасибо!

Jon Kern 24.01.2021 06:19

Спасибо :) Я собирался попробовать другие решения, но это сразу устранило мою проблему.

Nick Taras 09.03.2021 00:04

На MacOS Mojave я мог исправить это только с помощью brew upgrade.

Для меня brew reinstall nodejs исправил это - моя проблема заключалась в запуске Elixir / Phoenix, поэтому не для PHP, я думаю, что это было вызвано brew install postgres, но переустановка не помогла. Я получал это из команд npm.

brew update && brew upgrade у меня работал

Добро пожаловать в SO! Ваше сотрудничество приветствуется. В этом случае есть еще 15 вопросов, так что будет хорошим поводом показать свои плюсы.

David García Bodego 04.11.2019 09:39

Я следил за этой статьей здесь, и мне кажется, что это недостающий кусок головоломки:

brew uninstall node@8

После попытки каждого предложения из разных форм моя ошибка прекратилась после использования этого, но теперь у нас возникла проблема с npm после переустановки узла

Pratik Khadka 22.08.2020 20:14

Принятый ответ у меня не сработал. То, что у меня сработало, было вариацией этого ответа: brew remove node && brew install node.

Joshua Richardson 09.08.2021 02:12

В OSX 10.15.4 при запуске xcode-select --install проблема была решена.

в моем случае я переустанавливаю все пакеты, установленные с помощью Homebrew

$ brew list | xargs brew reinstall

После этого я начинаю устанавливать свою версию, которая мне нужна

Это то, что наконец сработало для меня.

brew reinstall postgres

После выполнения указанной выше команды вам может потребоваться запустить

brew postgresql-upgrade-database

для доступа к вашим предыдущим данным.

Решение в это суть сделало это за меня

brew uninstall --ignore-dependencies node icu4c
brew install node

В моем случае приготовьте обновление icu4c до версии 67.1, чтобы мой php7.1 не работал. Просто переустановите icu4c, и все в порядке.

Ссылка: https://devhoi.com/threads/error-dyld-library-not-loaded-usr-local-opt-icu4c-lib-libicui18n-64-dylib-with-php7-1.26/

Я просто переустановил php 7.3, который был сломан, и исправил его. Однако это руководство указывало мне правильное направление.

Nate S 08.07.2020 03:29

Я пробовал многие из предложений здесь, и, в конце концов, brew upgrade php помог мне, но, похоже, проблема повсюду

В моем случае мне пришлось переключаться между двумя версиями icu4c, поскольку я все еще поддерживаю проекты PHP 5.6 (которые используют старый icu4c 64.2). brew install и переустановка по необработанным ссылкам .rb всегда по какой-то причине всегда заменяет ранее установленные версии.

#fetching 64.2
brew fetch https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb 

#fetching stable version
brew fetch https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/icu4c.rb 

cd $(brew --cache)/downloads
tar xvfz e2a83648f37dc5193016ce14fa6faeb97460258b214e805b1d7ce8956e83c1a7--icu4c-64.2.catalina.bottle.tar.gz
tar xvfz e045a709e2e21df31e66144a637f0c77dfc154f60183c89e6b04afa2fbda28ba--icu4c-67.1.catalina.bottle.tar.gz
mv -n icu4c/67.1 $(brew --cellar)/icu4c/
mv -n icu4c/64.2 $(brew --cellar)/icu4c/

затем переключаться между версиями

$ brew switch icu4c 64.2
Cleaning /usr/local/Cellar/icu4c/64.2
Cleaning /usr/local/Cellar/icu4c/67.1
Opt link created for /usr/local/Cellar/icu4c/64.2

$ brew switch icu4c 67.1
Cleaning /usr/local/Cellar/icu4c/64.2
Cleaning /usr/local/Cellar/icu4c/67.1
Opt link created for /usr/local/Cellar/icu4c/67.1

[2020] издание

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

Если вам нужно установить старую версию, например версию 62 (те же шаги для других версий), вам необходимо:

  1. Создайте свое собственное репо (или найдите другое репо) с этой версией brew tap (ссылки разные для каждой версии):

версия 62

https://raw.githubusercontent.com/Homebrew/homebrew-core/575eb4bbef683551e19f329f60456b13a558132f/Formula/icu4c.rb

версия 64

https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb 

версия 66

https://raw.githubusercontent.com/Homebrew/homebrew-core/22fb699a417093cd1440857134c530f1e3794f7d/Formula/icu4c.rb

версия 67

https://raw.githubusercontent.com/Homebrew/homebrew-core/88b9cc789820f2f544d8d4a1053eebb044c2926c/Formula/icu4c.rb
  1. [yourUsername] / homebrew-versions / Формула /
  2. Поместите загруженный файл в папку "Формула"
  3. brew tap [yourUsername]/homebrew-versions
  4. brew install [yourUsername]/homebrew-versions/icu4c
  5. Ты получил это!

Где [yourUsername] - это имя вашей учетной записи GitHub или человека, у которого уже есть необходимая версия.

Unfortunately, latest homebrew gives no longer a warning and now displays the error: Error: Calling Installation of XXX from a GitHub commit URL is disabled! Use 'brew extract XXX' to stable tap on GitHub instead. So the way to go now is to create a new repo on github called homebrew-versions to host the Formula in a Tap Then initialise it with: brew tap-new MYORG/homebrew-versions after git cloning the homebrew repo as suggested by Shine Hugh, copy paste the raw ruby file to your new Formula. Beware the funny naming convention! Example: File name is: [email protected] Class name is: GettextAT0202 Example: https://github.com/nedap/homebrew-versions

source:https://itnext.io/how-to-install-an-older-brew-package-add141e58d32

Если у вас возникла ошибка, попробуйте установить из source: // 1. скачать файл (например, для 67) wget raw.githubusercontent.com/Homebrew/homebrew-core/… // 2. Найдите ссылку на архив внутри файла 'cat icu4c.rb' // 3. Скачиваем архив и устанавливаем из исходников типа stackoverflow.com/a/55024755/3126078

Max Lipsky 04.07.2021 22:16

Я действительно пробовал все разумные решения, упомянутые в этом посте, но все равно получаю ту же ошибку при запуске php -v или composer. Версия узла была в порядке, npm также не было проблем с установкой правильных версий, и все они работали. Запуск reinstall [email protected] просто выдал ошибку. В итоге пришлось бежать:

brew reinstall icu4c

Это в основном сработало, и мне пришлось вручную устанавливать зависимости php, такие как imagick.so, imap.so. Поскольку эти библиотеки были установлены для проекта, который я больше не поддерживаю, я могу обойтись без них. Но если вы действительно от них зависите, имейте в виду, что потом будет еще много работы.

это сработало для меня! npm install не работал после того, как на прошлой неделе мой рабочий MacBook Force обновился до Catalina. Первоначально найдено здесь: gist.github.com/berkedel/d1fc6d13651c16002f64653096d1fded

Kingsley 19.04.2021 15:21

Я просто хотел оставить подробное описание того, как исправить эту проблему в текущий момент (у меня это сработало):

Сначала зайдите в локальную установку homebrew

cd /usr/local/Homebrew/

Homebrew> 2.5 удалите возможность установки формул непосредственно из репозиториев git, поэтому нам нужно проверить более старую версию

git checkout 2.3.0

Установите версию icu4c (в моем случае 64.2 совместим с [email protected])

HOMEBREW_NO_AUTO_UPDATE=1 brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb

Вернуться к текущей версии homebrew

git checkout -

Скажите brew использовать старую версию icu4c таким образом, вы можете выбрать, какую версию использовать, если вы оба установили

brew switch icu4c 64.2

моя проблема:

# npm install -g canvas

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib
  Referenced from: /usr/local/opt/node@8/bin/node
  Reason: image not found

на данный момент 20210118, после многих попыток:

...
brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/icu4c.rb
brew upgrade npm
brew install node
brew uninstall --ignore-dependencies node@8 icu4c
brew install icu4c
...

Окончательное решение работал:

brew reinstall npm

Команда brew reinstall npm решила мою проблему

bartpie 25.11.2021 14:14

Я решил int, обновив все пакеты R:

update.packages(checkBuilt = TRUE, ask = FALSE)

2021-02 Простое решение

После многих лет работы с этой проблемой у меня сработало следующее, на удивление простое решение:

  1. Откройте в браузере необработанный файл нужной вам версии:

Версия 62: https://raw.githubusercontent.com/Homebrew/homebrew-core/575eb4bbef683551e19f329f60456b13a558132f/Formula/icu4c.rb

Версия 64: https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb

Версия 66: https://raw.githubusercontent.com/Homebrew/homebrew-core/22fb699a417093cd1440857134c530f1e3794f7d/Formula/icu4c.rb

Версия 67: https://raw.githubusercontent.com/Homebrew/homebrew-core/88b9cc789820f2f544d8d4a1053eebb044c2926c/Formula/icu4c.rb

Последняя версия: https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/icu4c.rb

  1. Скопируйте и вставьте содержимое в новый файл с именем: icu4c.rb
  2. Выполните следующее для вновь созданного файла: brew reinstall icu4c.rb

Источник: https://gist.github.com/hgrimelid/703691ab48c4a4d0537cfe835b4d55a6

Я нашел похожий набор инструкций, но он требует компиляции источника: programmersought.com/article/34721476513, который у меня сработал.

J.D. Pace 11.03.2021 01:57

Собственно, решение я нашел прямо на странице homebrew: https://docs.brew.sh/Common-Issues

Обновление macOS может вызвать следующие ошибки:

  • dyld: библиотека не загружена: /usr/local/opt/icu4c/lib/libicui18n.54.dylib configure: ошибка: не удается найти libz
  • После обновления macOS может потребоваться переустановка инструментов командной строки Xcode и обновление всей установленной формулы:
xcode-select --install
brew upgrade

В моем случае проблема не была связана с обновлением ОС, но решение сработало нормально.

Это помогло мне после обновления до Mac OS 11.6 Big Sur. Спасибо!

Vince 02.11.2021 21:37

Если у вас последняя версия icu4c, и вы, как и я, страдаете от хрупкого программного обеспечения, и просто хотите, чтобы postgres / что-то еще работало:

$ brew upgrade icu4c                                                                                                                           
Warning: icu4c 69.1 already installed

Затем вы можете просто создать символические ссылки:

> dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicuuc.68.dylib

cd /usr/local/opt/icu4c/lib
ln -s libicuuc.69.1.dylib libicuuc.68.dylib
ln -s libicuio.69.1.dylib libicui18n.68.dylib

Эти символические ссылки исчезнут при первом обновлении icu4c, но это, вероятно, самый быстрый способ исправить.

Для меня решение было:

brew reinstall icu4c

потом

gem uninstall charlock_holmes
gem install charlock_holmes

Другие вопросы по теме