Ich habe Composer in /usr/local/bin installiert, aber es war nicht global

Ich habe Composer in /usr/local/bin installiert, aber es war nicht global

Ich verwende Ubuntu 18.04.6 LTS

Ich musste Composer installieren und habe die Installation daher mit dem folgenden Befehl durchgeführt:

sudo apt-get install composer

Dadurch würde jedoch eine Version von Composer installiert, bei deren Verwendung mir folgender Fehler angezeigt würde:

Fatal error: Uncaught ArgumentCountError: array_merge() does not accept unknown named par ameters in /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php:205 ubuntu

Die GitHub-Hinweise zu Composer deuteten darauf hin, dass dieser Fehler behoben sei, aber ich stieß immer wieder auf ihn, ohne online eine wirkliche Lösung finden zu können.

Also habe ich deinstalliert:

sudo apt-get purge --auto-remove composer

Ich habe das Problem schließlich durch die Installation mit der folgenden alternativen Methode gelöst:

curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Es hieß, alles sei richtig eingerichtet, aber Composer wurde immer noch nicht global gestartet, obwohl ich es in /usr/local/bin platziert hatte

Also fing ich an, damit herumzuspielen. Ich stoppte meine AWS-Instanz und startete sie dann erneut, führte den obigen alternativen Installationsbefehl erneut aus (composer-setup.php) und jetzt funktioniert Composer global (Zur Klarstellung: Ich habe nicht versucht, Composer unmittelbar nach dem Neustart der Instanz global auszuführen; ich habe es stattdessen erneut mit der alternativen Installationsmethode installiert und dann versucht, es global auszuführen, und es hat funktioniert).

Jetzt funktioniert Composer global und es gibt keine schwerwiegenden Fehler.

Hat jemand eine Hypothese, warum Composer nicht global ausgeführt wurde, obwohl er zunächst in /usr/local/bin abgelegt war, dann aber schließlich global zu funktionieren begann? Ist es möglich, dass das Anhalten und Starten meiner AWS-Instanz mit Ubuntu das Problem gelöst hat? Wenn nicht, was hat das Problem dann tatsächlich gelöst und warum hat es überhaupt nicht global funktioniert?

verwandte Informationen