dyld: Library not loaded: / usr / local/opt/icu4c/lib / libicui18n.62.błąd dylib uruchamiający php po instalacji węzła z brew na Mac
Zainstalowałem node używając homebrew( Mojave), potem php przestało działać i jeśli spróbuję uruchomić php -v
dostaję ten błąd:
php -v
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib
Referenced from: /usr/local/bin/php
Reason: image not found
Próbowałem odinstalować zarówno węzeł, jak i icu4c, ale problem nadal występuje
30 answers
Miałem ten sam problem. Unowocześnienie Homebrew, a potem sprzątanie zadziałało. Ten błąd prawdopodobnie pojawił się dla mnie z powodu niedopasowania w wersjach pakietów. Żadne z powyższych rozwiązań nie rozwiązało mojego błędu, ale uruchomienie następujących komend homebrew tak.Update-jak wspomniano w niektórych komentarzach, uruchomienie
brew cleanup
może naprawić ten błąd, jeśli samo to go nie naprawi, możesz spróbować uaktualnić poszczególne pakiety lub wszystkie pakiety brew.
Uwaga - spowoduje to uaktualnienie wszystkich pakietów brew, w tym między innymi PHP. Jeśli chcesz uaktualnić tylko określone Pakiety, upewnij się, że są konkretne.
brew upgrade // for upgrading all packages -- this is the command I used
brew upgrade {package} // for upgrading a specific package
I wreszcie
brew cleanup
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-11-16 17:00:14
W moim przypadku stało się tak, ponieważ icu4c został zaktualizowany do wersji 63, ale mój lokalnie zainstalowany obraz postgres nadal odwoływał się do icu4c 62.1. Dlatego musiałem zmienić używaną wersję icu4c:
brew info icu4c
brew switch icu4c <version>
Gdzie version
jest wersją zainstalowaną zwracaną przez info
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-06-07 23:33:44
Jestem całkiem zaskoczony, że tego rozwiązania jeszcze nie zaprezentowano i uważam, że jest to najprostsze rozwiązanie.
Przejdź do GitHub, znajdź wersję pliku brewfile, która pasuje do wersji icu4c
, której potrzebujesz i pobierz wersję raw pliku(postępuj zgodnie z linkami powyżej i kliknij View File
Następnie Raw
).
Następnie po prostu zainstaluj brew ponownie z tego adresu url.
Na przykład wersja 62.1
:
brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/575eb4bbef683551e19f329f60456b13a558132f/Formula/icu4c.rb
Na przykład wersja 64.2
:
brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-23 20:38:17
Okazało się, że ja, podobnie jak @ Grey Black, musiałem zainstalować V62. 1 icu4c. nic więcej nie działało.
Jednak brew switch icu4c 62.1
działa tylko wtedy, gdy zainstalowałeś 62.1 w przeszłości. Jeśli nie masz więcej pracy w nogi. Homebrew nie ułatwia instalacji poprzednich wersji formuł.
Oto Jak to zrobiłem:
-
Najpierw potrzebujemy głębokiego klona repo Homebrew. To może chwilę potrwać:
-
brew log icu4c
aby wyśledzić commit, który odwołuje się do 62.1;575eb4b
wystarczy. cd $(brew --repo homebrew/core)
git checkout 575eb4b -- Formula/icu4c.rb
brew uninstall --ignore-dependencies icu4c
-
brew install icu4c
powinieneś teraz mieć poprawną wersję zależności! Teraz tak... -
git reset && git checkout .
Wyczyść zmodyfikowany przepis. -
brew pin icu4c
Przypnij zależność, aby zapobiec przypadkowemu uaktualnieniu w przyszłości
git -C $(brew --repo homebrew/core) fetch --unshallow
Jeśli zdecydujesz czy chcesz go uaktualnić w pewnym momencie, upewnij się, że uruchomisz brew unpin icu4c
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-15 18:48:54
Uruchom npm version
, Jeśli widzisz ten sam błąd, Uaktualnij 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-31 13:49:25
Miałem ten sam problem po uaktualnieniu mojej macOS
do wersji 10.13.6
. Nie mogę uruchamiać komend composer
i php
. Po pewnym czasie poszukiwań i wypróbowaniu różnych rozwiązań opublikowanych online, ponowna instalacja php przy użyciu homebrew
zadziałała.
brew reinstall [email protected]
Dodano 14 marca na podstawie komentarza Ryana
Pobierz aktualnie używaną wersję, uruchamiając php -v
i uzyskaj odpowiednie formuły (które znajdziesz tutaj: https://formulae.brew.sh/formula/php ) do zastąpienia @7.1
w powyższe polecenie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-14 20:49:11
This fixed it for me:
brew upgrade node
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-08-05 10:38:18
Tylko brew remove php
i brew install php
nie zadziałały, ani brew reinstall php
.
Moim rozwiązaniem było zrobić:
brew remove php
cd /usr/local/Cellar
rm -rf php/
brew install php
brew doctor
brew cleanup
Teraz php -v
daje mi:
PHP 7.3.2 (cli) (built: Feb 14 2019 10:08:45) ( NTS )
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-25 11:02:30
Wydaje się, że niemożliwe jest połączenie icu4c
za pomocą brew
po najnowszej aktualizacji OS X. Co czyni rzeczy bardziej interesującymi. Jedyne rozwiązanie, które znalazłem działa dla mnie:
- Pobierz i skompiluj
icu4c
62.1 do/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
- Link:
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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-09-19 17:22:39
brew update && brew upgrade
worked for me
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-11-04 13:31:33
To w końcu zadziałało.
brew reinstall postgres
Po uruchomieniu powyższego polecenia może być konieczne uruchomienie
brew postgresql-upgrade-database
Aby uzyskać dostęp do Twoich poprzednich danych.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-03 17:10:51
Wypróbowałem wszystkie rozwiązania, które miały sens, wymienione w tym poście, a jednak nadal mam ten sam błąd podczas uruchamiania php -v
lub composer
.
Wersja węzła była w porządku, npm, jak również nie było żadnych problemów z zainstalowaniem poprawnych wersji i wszystkie były uruchomione.
Running reinstall [email protected]
po prostu wyrzucił błąd.
W końcu musiałem biec:
brew reinstall icu4c
To w zasadzie działało, a ja musiałem ręcznie zainstalować zależności php, takie jak imagick.so
, imap.so
Ponieważ biblioteki te zostały zainstalowane dla projektu że nie utrzymam, że mogę iść bez nich. Ale jeśli masz zależności od nich, należy pamiętać, że nie będzie więcej pracy do zrobienia później.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-10-29 16:22:06
Zamiast instalować starą wersję icu4c
, do której starsze (wstępnie skompilowane) php może się łączyć, lepiej przekompilować stare php tak, aby łączyło się z nowszą biblioteką.
brew uninstall [email protected]
brew install --build-from-source [email protected]
To zbuduje php i połączy go z nowszą biblioteką. Znalazłem reinstall
nie do końca działa; nowa instalacja dławiła się, gdy folder docelowy już istniał.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-28 21:15:01
Miałem problemy, ponieważ moja wersja PHP (7.3) oczekiwała icu4c 63 i brew zainstalowałby tylko 64.
Https://stackoverflow.com/a/55828190/2000947 pomógł mi zainstalować 63.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-06-21 15:21:43
Aby obniżyć wersję, musiałem przekompilować ze źródła (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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-31 11:40:32
Na MacOS Mojave, jedynym sposobem, aby to naprawić, było brew upgrade
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-09-19 17:19:16
Dla mnie brew reinstall nodejs
Naprawiono to - mój problem był z uruchomieniem Elixir / Phoenix, więc nie specyficzny dla PHP, myślę, że został spowodowany przez brew install postgres
, ale ponowna instalacja nie pomogła. Otrzymywałem go z npm
poleceń.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-16 08:23:10
Śledziłem ten artykuł Tutaj i wydaje się, że to jest brakujący element układanki dla mnie:
brew uninstall node@8
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-10-10 07:17:13
Odpowiedź Lelanda zadziałała na mnie, ale musiałem zmienić kroki 4 i 6 na:
4) git checkout-B icu4c-62.1 575eb4b
6) brew reinstall Formula/icu4c.rb
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-21 14:39:22
Na OSX 10.15.4 uruchomiony xcode-select --install
Naprawiono problem dla mnie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-01 20:41:06
W moim przypadku brew update icu4c do wersji 67.1 więc mój php7. 1 nie działa. Po prostu ponownie zainstaluj icu4c, a potem będzie dobrze.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-02 08:23:58
Ten błąd też dostałem po zainstalowaniu php 7.3. Miałem to rozwiązany aktualizacji tylko moje stare wersje php (5.6 i 7.0, nie z oficjalnych repos).
Opiekunowie skompilowali nowe wersje php z aktualnym icu4c.
W moim przypadku PHP 7 dostało się z 0.31 do 0.33 i problem został rozwiązany.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-24 10:08:39
The solution in this gist did it for me
brew uninstall --ignore-dependencies node icu4c
brew install node
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-17 04:44:36
Próbowałem wielu sugestii tutaj, i na koniec brew upgrade php
jest to, co zrobił sztuczkę dla mnie, ale wydaje się, że problem jest wszędzie
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-10 10:03:45
W moim przypadku musiałem przełączać się między dwiema wersjami icu4c, ponieważ nadal utrzymuję projekty PHP 5.6 (które używają starego icu4c 64.2). brew zainstalować i ponownie zainstalować z raw .RB links zawsze zastępuje wcześniej zainstalowane wersje z jakiegoś powodu.
#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/
Następnie przełączanie pomiędzy wersjami
$ 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-23 02:28:48
[2020] edycja
Dla mnie instalował icu4c z potrzebną wersją.
Jeśli chcesz zainstalować starą wersję, taką jak wersja 62, (te same kroki dla innych wersji), musisz:
- Stwórz własny repo (lub znajdź kogoś repo) z tą wersją brew tap (linki są różne dla każdej wersji):
Wersja 62
https://raw.githubusercontent.com/Homebrew/homebrew-core/575eb4bbef683551e19f329f60456b13a558132f/Formula/icu4c.rb
Wersja 64
https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb
Wersja 66
https://raw.githubusercontent.com/Homebrew/homebrew-core/22fb699a417093cd1440857134c530f1e3794f7d/Formula/icu4c.rb
Wersja 67
https://raw.githubusercontent.com/Homebrew/homebrew-core/88b9cc789820f2f544d8d4a1053eebb044c2926c/Formula/icu4c.rb
- [yoursername] / homebrew-versions / Formula /
- umieść pobrany plik w folderze 'Formula'
brew tap [yourUsername]/homebrew-versions
brew install [yourUsername]/homebrew-versions/icu4c
Masz to!
Gdzie [yourUsername] to nazwa Twojego konta na Githubie lub osoby, która ma już potrzebną wersję tap.
Niestety, najnowszy homebrew nie daje już ostrzeżenia i teraz wyświetla błąd: Błąd: wywołanie instalacji XXX z Githuba adres URL zatwierdzania jest wyłączony! Use " napar extract XXX ' to stable tap on GitHub zamiast tego. Więc teraz należy utworzyć nowy repo na GitHubie o nazwie homebrew-wersje hostujące formułę w kranu, a następnie inicjalizujące ją z: brew tap-new MYORG / homebrew-wersje po klonowaniu git homebrew repo zgodnie z sugestią Shine Hugh, kopiuj wklej surowy plik ruby za twoją nową formułę. Uważaj na śmieszną konwencję nazewnictwa! Przykład: Plik nazwisko: [email protected] klasy rb to: GettextAT0202 Przykład: https://github.com/nedap/homebrew-versions
Źródło: https://itnext.io/how-to-install-an-older-brew-package-add141e58d32
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-09-18 11:45:56
Chciałem tylko zostawić szczegółowe podsumowanie, jak rozwiązać ten problem w bieżącej chwili (to działało dla mnie):
Najpierw przejdź do lokalnej instalacji homebrew
cd /usr/local/Homebrew/
Homebrew > 2.5 Usuń opcję instalacji formuł bezpośrednio z git repos, więc musimy sprawdzić starszą wersję
git checkout 2.3.0
Zainstalować wersję icu4c (w moim przypadku 64.2 był zgodny z [email protected])
HOMEBREW_NO_AUTO_UPDATE=1 brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb
Wróć do aktualnej wersji homebrew
git checkout -
Powiedz brewowi, aby użył starej wersji icu4c w ten sposób możesz wybrać wersję do użycia, jeśli masz zarówno intalled
brew switch icu4c 64.2
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-03 07:25:52
Mój problem:
# 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
Na razie 20210118, po wielu próbach:
...
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
...
Końcowy przepracowany roztwór to:
brew reinstall npm
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-18 09:19:09
Rozwiązałem int aktualizując wszystkie pakiety R:
update.packages(checkBuilt = TRUE, ask = FALSE)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-02-08 13:07:55
W moim przypadku reinstaluję wszystkie pakiety zainstalowane z Homebrew
$ brew list | xargs brew reinstall
Po tym, zaczynam instalować moją wersję, której potrzebuję
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-17 06:54:21