Die „Teer“ Option versteht beide kahl .tar
, .tar.gz
und sogar.tar.bz2
so geben Sie einfach "type": "tar"
und es gibt keine Notwendigkeit, die angeben "gz"
. Es ermittelt die Dekompression allein.
Ich stieß auf dieses Problem und war anfangs verwirrt, als ich versuchte, eine PHP-App, die eine proprietäre Bibliothek verwendete, automatisch bereitzustellen. Ich habe aber nur "tar" ausprobiert, es hat funktioniert! Mein repositories
JSON-Teil wirkt aufgrund der ungewöhnlichen Struktur des tar-Archivs etwas doof, aber es funktioniert. Es sah ungefähr so aus:
"repositories": [ { "type": "package", "package": { "name": "RocketShipIt/RocketShipIt", "version": "1.4.9.3", "dist": { "url": "https://secret-deployment-server/RocketShipIt.tar.gz", "type": "tar" }, "autoload": { "files": [ "RocketShipIt/RocketShipIt.php" ], "psr-0": { "RocketShipIt\\": "RocketShipIt/RocketShipIt/RocketShipIt/" } } } } ]
In der Composer-API-Dokumentation (nicht im Endbenutzerhandbuch) können Sie feststellen, dass dies etwas undeutlich ist .tar
, .tar.gz
und .tar.bz2
alle drei werden offiziell von unterstützt "type": "tar"
. Anscheinend wird es intern vom Komponisten von der Composer\Downloader\TarDownloader
Klasse gehandhabt .