Es existiert ein Befehl zum Generieren der composer.lock
von einem composer.json
?
Etwas ähnliches Rubin bundler
: $ bundle lock
Es existiert ein Befehl zum Generieren der composer.lock
von einem composer.json
?
Etwas ähnliches Rubin bundler
: $ bundle lock
Duncanmoo
composer.lock
Die Antwort ist “nein”, Sie müssen die Sperrdatei generieren mit:
composer install
Installation ohne composer.lock
Wenn Sie den Befehl noch nie zuvor ausgeführt haben und es auch gibt keine composer.lock-Datei vorhandenComposer löst einfach alle Abhängigkeiten auf, die in Ihrer composer.json-Datei aufgelistet sind und lädt die neueste Version herunter ihrer Dateien in das Vendor-Verzeichnis in Ihrem Projekt.
Quelle: getcomposer.org
NB Mögliches Problem: Ohne die Sperrdatei verwendet Composer die neueste Version der Abhängigkeiten.
composer.lock
Wenn Sie bereits eine haben composer.lock
und Composer sich darüber beschwert, dass es nicht synchron ist, sehen Sie diese Warnung:
Warnung: Die Sperrdatei entspricht nicht den letzten Änderungen in composer.json. Möglicherweise erhalten Sie veraltete Abhängigkeiten. Führen Sie update aus, um sie zu aktualisieren.
Um dies zu beheben, können Sie die Sperrdatei selbst aktualisieren, ohne die Abhängigkeiten zu aktualisieren. Dadurch wird nur die aktualisiert content-hash
in der Sperrdatei:
composer update --lock
Aus dem Composer-Handbuch:
–lock Aktualisiert nur den Sperrdatei-Hash, um Warnungen zu unterdrücken, dass die Sperrdatei veraltet ist.
Also kann ich irgendwie einen Dummy erstellen composer.lock
Datei und dann die composer update --lock
um die gleiche Sperrdatei wie bei zu erhalten composer install
?
– mvorisek
24. Januar 2020 um 21:54 Uhr
Soweit ich sehen kann die Dokumentation Die einzige Möglichkeit, eine composer.lock zu generieren, ist die Ausführung von composer install. Es wäre schön, wenn --dry-run
oder ein ähnliches Flag schrieb die Sperrdatei, falls sie fehlt.
– Duncanmoo
27. Januar 2020 um 7:54 Uhr
direkt im Composer Repo ein Issue dafür erstellt – github.com/composer/composer/issues/8551
– mvorisek
27. Januar 2020 um 7:59 Uhr
@mvorisek Wenn ich dir Kudos oder ein Kopfgeld geben könnte, würde ich deinen Vorschlag in Composer 2.0 aufnehmen!
– Duncanmoo
18. Juni 2020 um 9:39 Uhr
nur anmerken composer update --lock
wird auch andere Teile der Sperrdatei entsprechend aktualisieren composer.json
nicht nur das Haschisch.
– David Thomas
25. Juni 2020 um 10:06 Uhr
Sperrdatei schreiben composer.lock
ohne Downloadpakete:
composer update --no-install
Composer-Version 2.2.5
Nicht dass ich wüsste. Scheint eine seltsame Anforderung zu sein.
– ceejayoz
28. Juni 2017 um 14:18 Uhr
Ich finde
composer update --lock
macht dies. “–lock: Aktualisiert nur den Sperrdatei-Hash, um Warnungen zu unterdrücken, dass die Sperrdatei veraltet ist.” oder vielleicht Dies– Sevvlor
28. Juni 2017 um 14:18 Uhr
@Sevvlor Ich habe zuerst keine Deps installiert und ausgeführt
update --lock
es installiert sie..– ciaoben
28. Juni 2017 um 14:23 Uhr
Ich denke eigentlich, dass dies ohne Installation oder Update nicht möglich ist. Was wahrscheinlich an seinem Zweck liegt
– Sevvlor
28. Juni 2017 um 14:50 Uhr
Ich denke wirklich, dass dies sehr nützlich wäre. In meinem Szenario muss ich die Version einer Abhängigkeit in 6 Anwendungen aktualisieren. Da diese Funktion nicht verfügbar ist, muss ich jede Anwendung auschecken und ALLE Abhängigkeiten (70.000 Dateien) installieren, nur um die Sperrdatei zu aktualisieren. Wäre toll, das Kopieren von 70.000 Dateien zu überspringen.
– bmerigan
14. September 2018 um 3:13 Uhr