Heim > Entwicklungswerkzeuge > composer > Composer aktualisiert bestimmte Abhängigkeitspakete

Composer aktualisiert bestimmte Abhängigkeitspakete

藏色散人
Freigeben: 2019-08-03 13:46:24
nach vorne
8880 Leute haben es durchsucht

Composer aktualisiert bestimmte Abhängigkeitspakete

Composer aktualisiert das angegebene Abhängigkeitspaket

Compoesrs Anforderung/Update kann das angegebene Abhängigkeitspaket aktualisieren (Upgrade/Downgrade). ).

require ist flexibler. Wenn es nicht installiert ist, wird es installiert. Wenn es installiert ist, wird es entsprechend der übergebenen Versionsnummer aktualisiert oder herabgestuft.

Update kann keine neue Versionsnummer in der Befehlszeile übergeben. Sie müssen die neue Versionsnummer manuell in Composer.json angeben und dann den Update-Befehl ausführen.

composer require google/protobuf --ignore-platform-reqs -vvv
Nach dem Login kopieren

Verwandte Empfehlungen: [Komponisten-Tutorial]

Befehl erforderlich

Beispiel

// 安装包
composer require hashids/hashids:2.0.0
// 已安装 升级
composer require hashids/hashids:3.0.0
// 已安装 降级
composer require hashids/hashids:2.0.4
Nach dem Login kopieren

Update-Befehl

Der Update-Befehl kann die Paketversionsnummer nicht in der Befehlszeile angeben und Sie müssen die Datei „composer.json“ manuell ändern

// 安装包
composer require hashids/hashids:2.0.0
Nach dem Login kopieren

Falsche Verwendung

composer update hashids/hashids:3.0.0
Nach dem Login kopieren

Beispiel für die korrekte Verwendung

vim composer.json
"require": {
    "hashids/hashids": "3.0.0"
},
:wq
#升级到3.0.0
composer update hashids/hashids
vim composer.json
"require": {
    "hashids/hashids": "2.0.4"
},
:wq
#降级到2.0.4
composer update hashids/hashids
Nach dem Login kopieren

Wenn wir gleichzeitig die Versionsnummern mehrerer Pakete bearbeiten und aktualisieren, können wir die Methode

composer update package1
composer update package2
composer update package3
Nach dem Login kopieren

nicht verwenden, um sie nacheinander zu aktualisieren. Da Composer die Integrität der Konfigurationsdatei JSON vs. Lock überprüft, haben Sie angegeben, dass ich A aktualisieren soll, aber die Version von B ist in JSON und Lock inkonsistent, aber Sie möchten nicht, dass ich sie aktualisiere .

Derzeit können Sie Composer Update nur zum globalen Aktualisieren von Abhängigkeiten verwenden. Beachten Sie, dass es sich um einen Aktualisierungsvorgang für globale Pakete handelt, die Sie nicht geändert haben, aber einen Versionsnummernbereich verwenden aktualisiert. Bitte mit Vorsicht verwenden!

Installationsbefehl

install kann verwendet werden, um Abhängigkeiten zum ersten Mal nach der Projektinitialisierung zu installieren, und die Versionsnummer in composer.lock wird zuerst gelesen, um sicherzustellen, dass sie vorhanden ist größtmögliche Konsistenz der Paketversionen bei der kollaborativen Entwicklung.

Der in Composer.lock vorhandene Paketversionseintrag entspricht der Ausführung von composer require packageName:versionNo, und das Fehlen davon entspricht der Ausführung von composer update packageName with versionRule in composer.json.

Wenn wir an der Entwicklung zusammenarbeiten, installiert A lokal ein neues Abhängigkeitspaket oder aktualisiert ein Abhängigkeitspaket, das in „composer.lock/composer.json“ geschrieben wird, A lädt es in das Warehouse hoch und B ruft es ab Lokal sollte eine Composer-Installation ausgeführt werden, um die Versionsänderungen des Teams zu synchronisieren.

Daher empfehlen wir, während der kollaborativen Entwicklung gleichzeitig composer.lock/composer.json in das Remote-Warehouse hochzuladen.

Versionsnummernbereich

大于/大于等于:>1.2.3 >=1.2.3
小于/小于等于:<1.2.3 <=1.2.3
确切的版本号:1.2.3 
~1.2.3: 1.2.3 <= version < 1.3
^1.2.3: 1.2.3 <= version < 2.0
{
    "php": ">=7.0",
    "ext-swoole": ">=4.0.0",
    "lib-curl": ">=7.29.0"
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonComposer aktualisiert bestimmte Abhängigkeitspakete. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:52bug.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage