Ein Dienst benutzt eine andere Version des Werkzeugs als die eigene Shell
Lehre: Bei Werkzeug-Problemen in einem Dienst Pfad und Version immer im Aufrufkontext des Dienstes prüfen, nicht in der eigenen Shell.
Problem
Ein Hintergrunddienst scheitert mit einem Kommandozeilen-Werkzeug (hier yt-dlp), obwohl dasselbe Werkzeug in der Shell aktuell ist und funktioniert.
Ursache
Auf dem Rechner lagen zwei Installationen. Der Dienst fand zuerst eine alte, vergessene Kopie in einem anderen Verzeichnis. launchd erbt den PATH der Login-Shell nicht, der Dienst sieht also eine andere Reihenfolge als man selbst.
Lösung
whichund--versionim Aufrufpfad des Dienstes prüfen, nicht in der eigenen Shell.- Die verdeckende Kopie aktualisieren oder entfernen; dann ist keine Pfadänderung im Dienst nötig.