Troubleshooting: Homebrew Update für OS-X Big Sur
Auf dieser Seite
Ich hab OS-X von Mojave auf Big Sur aktualisiert, und möchte nun natürlich das auch Homebrew wieder funktioniert, denn ein brew upgrade nach dem Upgrade liefert folgende umschöne Meldung:
Your CLT does not support macOS 11.0Zunächst müssen wir (unabhängig von einer vorhandenen XCode Installation aus dem App-Store) die neuen CommandLineTools installieren:
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --installDann ein homebrew upgrade durchführen:
brew upgradeÜbersetzt: homebrew-core ist ein ungenauer Klon. Vor brew update muss git ... --unshallow ausgeführt werden.
Diese Einschränkung wurde auf Wunsch von GitHub gemacht, weil das Aktualisieren von shallow clones aufgrund des Baum-Layouts und des Traffics von Homebrew/homebrew-core und Homebrew/homebrew-cask eine extrem aufwendige Operation ist. Wir machen das nicht automatisch für Sie, um zu vermeiden, dass Sie wiederholt eine aufwendige unshallow-Operation in CI-Systemen durchführen (die stattdessen so eingestellt werden sollten, dass sie keine shallow clones verwenden). Entschuldigung für die Unannehmlichkeiten!
Also führen wir das wunschgemäß aus:
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
remote: Enumerating objects: 614078, done.
remote: Counting objects: 100% (614033/614033), done.
remote: Compressing objects: 100% (213392/213392), done.
remote: Total 605041 (delta 394377), reused 599454 (delta 388798), pack-reused 0
Receiving objects: 100% (605041/605041), 240.24 MiB | 5.43 MiB/s, done.
Resolving deltas: 100% (394377/394377), completed with 4069 local objects.Danach
brew update
Already up-to-date.
brew upgrade
...
brew --version
Homebrew 2.6.2
Homebrew/homebrew-core (git revision 9087b7; last commit 2020-12-16)
Homebrew/homebrew-cask (git revision 974d5; last commit 2020-12-16)…und dann wie immer die Log-Ausgaben in eine Notiz kopieren und schauen ob es Probleme gab, wie zum Beispiel dieses hier:
Probleme mit PHP
Mein Versuch den Apache Webserver zu starten liefert folgende Fehler:
sudo apachectl -k start
Password:
httpd: Syntax error on line 192 of /usr/local/etc/httpd/httpd.conf: Cannot load /usr/local/opt/php/lib/httpd/modules/libphp7.so into server: dlopen(/usr/local/opt/php/lib/httpd/modules/libphp7.so, 10): image not foundDas deutete sich in der umfangreichen Logausgabe beim Homebrew-Update schon an:
To enable PHP in Apache add the following to httpd.conf and restart Apache:
LoadModule php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
Finally, check DirectoryIndex includes index.php
DirectoryIndex index.php index.html
The php.ini and php-fpm.ini file can be found in:
/usr/local/etc/php/7.3/
php@7.3 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have php@7.3 first in your PATH run:
echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.zshrc
For compilers to find php@7.3 you may need to set:
export LDFLAGS="-L/usr/local/opt/php@7.3/lib"
export CPPFLAGS="-I/usr/local/opt/php@7.3/include"
To have launchd start php@7.3 now and restart at login:
brew services start php@7.3
Or, if you don't want/need a background service you can just run:
php-fpmDie relevante Zeile ist die erste:
To enable PHP in Apache add the following to httpd.conf and restart Apache:
LoadModule php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.soAlso mach ich was da steht, navigiere zur Zeile 192 in der httpd.conf:
codium /usr/local/etc/httpd/httpd.conf
# Nach Big Sur Update
# LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so
LoadModule php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.soDanach starte ich den Server neu:
sudo apachectl -k startProblem gelöst :-)
Es läuft noch nicht alles Rund unter Big Sur. Der aktuelle Stand der Entwicklung ist hier nach zu lesen: