Ich verstehe nicht, wie die create-project
in Composer funktioniert. Nehmen wir Laravel als Beispiel.Unterschied zwischen require und install vs create-project in Composer
kann ich dieses PHP-Framework mit dem folgenden Befehl installieren:
composer create-project laravel/laravel --prefer-dist
Dieser Befehl das Framework installiert für mich mich mit ein paar Ordner in der Wurzel meines dir verlassen:
- App
- Bootstrap
- öffentliche
- Anbieter
Plus einige Dateien.
Aber wenn ich einfach den folgenden Komponisten Befehl:
composer require laravel/laravel --prefer-dist
composer install
Dann nur diese installiert den vendor
Ordner. Es werden keine anderen Dateien und Ordner von Composer heruntergeladen.
Wie kommt es? Was ist so anders? Woher weiß der Komponist, welche anderen Dateien er erhalten soll, wenn ich den Befehl create-project laravel/laravel
verwende und warum bekomme ich nur den Ordner vendor
, wenn ich require laravel/laravel
mache?
Danke. Ich habe das vorher nicht gesehen, aber ich verstehe es jetzt. Das "Laravel/Laravel" -Repo erfordert "Laravel/Framework", das im Gegenzug alle seine "Illuminate" -Abhängigkeiten benötigt. Diese Illuminate-Abhängigkeiten erfordern alle anderen 3rd-Party-Bibliotheken. So wird es schließlich durch den Komponisten aufgebaut (falls jemand daran interessiert war). – Vivendi