Heim >Entwicklungswerkzeuge >composer >So stellen Sie Composer so ein, dass Versionsübereinstimmungen ignoriert werden

So stellen Sie Composer so ein, dass Versionsübereinstimmungen ignoriert werden

藏色散人
藏色散人nach vorne
2019-11-27 17:49:536895Durchsuche

Die folgende Tutorial-Kolumne von composer mit zeigt Ihnen, wie Sie Composer so einrichten, dass der Versionsabgleich ignoriert wird. Ich hoffe, dass es für Freunde in Not hilfreich ist!

So stellen Sie Composer so ein, dass Versionsübereinstimmungen ignoriert werden

Composer-Einführung

Composer ist ein Abhängigkeitsmanagement-Tool für PHP. Sie können damit Codebibliotheken deklarieren, von denen Ihr Projekt abhängt, und diese für Sie in Ihrem Projekt installieren. Composer ist kein Paketmanager. Ja, es handelt sich um „Pakete“ und „Bibliotheken“, aber es wird pro Projekt verwaltet, mit Installationen in einem Verzeichnis innerhalb Ihres Projekts (z. B. beim Anbieter). Standardmäßig wird nichts global installiert. Es handelt sich also lediglich um ein Abhängigkeitsmanagement.

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$ sudo composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for doctrine/instantiator 1.0.3 -> satisfiable by doctrine/instantiator[1.0.3].
- doctrine/instantiator 1.0.3 requires php ~5.3 -> your PHP version (7.0.3) does not satisfy that requirement.
Problem 2
- doctrine/instantiator 1.0.3 requires php ~5.3 -> your PHP version (7.0.3) does not satisfy that requirement.
- phpunit/phpunit-mock-objects 2.3.0 requires doctrine/instantiator ~1.0,>=1.0.1 -> satisfiable by doctrine/instantiator[1.0.3].
- Installation request for phpunit/phpunit-mock-objects 2.3.0 -> satisfiable by phpunit/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, aber es sollte auch unter PHP 7 lauffähig sein. Ja, Composer kann so eingestellt werden, dass der Versionsabgleich ignoriert wird. Der Befehl lautet:

composer install --ignore-platform-reqs
or
composer update --ignore-platform-reqs

Führen Sie den Composer-Befehl erneut aus, um das Paket normal zu installieren.

Wenn eine Warnung angezeigt wird:

Cannot create cache directory /home/vagrant/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory /home/vagrant/.composer/cache/files/, or directory is not writable. Proceeding without cache

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:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

OK, Sie sind fertig.

Das obige ist der detaillierte Inhalt vonSo stellen Sie Composer so ein, dass Versionsübereinstimmungen ignoriert werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen