Heim > Artikel > Entwicklungswerkzeuge > Einführung in Lösungen für häufige Composer-Fehler
Das Folgende ist eine Tutorial-Kolumne von Composer, um Lösungen für häufige Composer-Fehler vorzustellen. Ich hoffe, dass sie Freunden in Not hilfreich sein wird!
Beim Ausführen der Composer-Installation ist ein Fehler aufgetreten: Ihre Anforderungen konnten nicht in einen installierbaren Satz von Paketen aufgelöst werden. Dies liegt daran, dass die von Composer.json erforderliche Version nicht übereinstimmt.
Der vollständige Fehler lautet wie folgt:
vagrant@homestead:/usr/share/nginx/html/laravel-blog$ sudocomposerinstall Loadingcomposerrepositorieswithpackage information Installingdependencies (includingrequire-dev) fromlockfile Yourrequirementscouldnot beresolvedto aninstallablesetofpackages. Problem 1 - Installationrequestfor doctrine/instantiator 1.0.3 -> satisfiablebydoctrine/instantiator[1.0.3]. - doctrine/instantiator 1.0.3 requiresphp ~5.3 -> yourPHPversion (7.0.3) doesnot satisfythatrequirement. Problem 2 - doctrine/instantiator 1.0.3 requiresphp ~5.3 -> yourPHPversion (7.0.3) doesnot satisfythatrequirement. - phpunit/phpunit-mock-objects 2.3.0 requiresdoctrine/instantiator ~1.0,>=1.0.1 -> satisfiablebydoctrine/instantiator[1.0.3]. - Installationrequestfor phpunit/phpunit-mock-objects 2.3.0 -> satisfiablebyphpunit/phpunit-mock-objects[2.3.0].
Es erinnert mich daran, dass meine PHP 7-Version zu hoch ist und nicht der von Composer.json geforderten Version entspricht. Es sollte jedoch auch möglich sein zur Ausführung unter PHP 7. Composer kann so eingestellt werden, dass die Versionen übereinstimmen. Der Befehl lautet:
composerinstall --ignore-platform-reqs or composerupdate --ignore-platform-reqs
Führen Sie den Composer-Befehl erneut aus, um das Paket normal zu installieren.
Wenn eine Warnung angezeigt wird:
Cannotcreatecachedirectory /home/vagrant/.composer/cache/repo/https---packagist.org/, or directoryis not writable. Proceedingwithoutcache Cannotcreatecachedirectory /home/vagrant/.composer/cache/files/, or directoryis not writable. Proceedingwithoutcache
Dies geschieht, wenn Composer in einer virtuellen Maschine ausgeführt wird, was darauf hinweist, dass dieses Verzeichnis keine Schreibberechtigungen hat und Composer das heruntergeladene Paket nicht zwischenspeichern kann muss jedes Mal erneut heruntergeladen werden. Ändern Sie einfach das Verzeichnis, damit es beschreibbar und lesbar ist.
sudo chmod -R 777 /home/vagrant/.composer/cache/files/
Stellen Sie außerdem Composer als inländisches Image in der virtuellen Maschine ein, da sonst die Download-Geschwindigkeit extrem langsam wird. Führen Sie Folgendes aus:
composerconfig -g repo.packagistcomposerhttps://packagist.phpcomposer.com
OK, Sie sind fertig.
Weitere technische Artikel zum Thema Komponisten finden Sie in der Spalte Komponist: https://www.php.cn/tool/composer/
Das obige ist der detaillierte Inhalt vonEinführung in Lösungen für häufige Composer-Fehler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!