Zum Zeitpunkt des Schreibens im Jahr 2013 war dies eine Möglichkeit, dies zu tun. Composer hat Unterstützung für bessere Möglichkeiten hinzugefügt: Siehe @igorws Antwort
HABEN SIE EIN REPOSITORY?
Git, Mercurial und SVN werden von Composer unterstützt.
HABEN SIE SCHRIFTLICHEN ZUGRIFF AUF DAS REPOSITORY?
Ja?
HAT DAS REPOSITORY A composer.json
DATEI
Wenn Sie ein Repository haben, können Sie schreiben in: Hinzufügen eines composer.json
Datei hinzu oder reparieren Sie die vorhandene, und verwenden Sie die folgende Lösung NICHT.
Gehen Sie zu @igorws Antwort
VERWENDEN SIE DIES NUR, WENN SIE KEIN REPOSITORY HABEN
ODER WENN DAS REPOSITORY KEIN A HATcomposer.json
UND SIE
Dadurch wird alles überschrieben, was Composer möglicherweise aus dem ursprünglichen Repository lesen kann composer.json
, einschließlich der Abhängigkeiten des Pakets und des automatischen Ladens.
Durch die Verwendung des package
Typs wird die Last der korrekten Definition auf Sie übertragen. Der einfachere Weg ist, eine zu habencomposer.json
Datei im Repository zu haben und sie einfach zu verwenden.
Diese Lösung ist wirklich nur für die seltenen Fälle gedacht, in denen Sie einen abgebrochenen ZIP-Download haben, den Sie nicht ändern können, oder ein Repository, das Sie nur lesen können, das aber nicht mehr gepflegt wird.
"repositories": [
{
"type":"package",
"package": {
"name": "l3pp4rd/doctrine-extensions",
"version":"master",
"source": {
"url": "https://github.com/l3pp4rd/DoctrineExtensions.git",
"type": "git",
"reference":"master"
}
}
}
],
"require": {
"l3pp4rd/doctrine-extensions": "master"
}
composer.json
, verwenden Sie also ein VCS-Repo. Ihr Beispiel unterbricht auch das automatische Laden und ignoriert dasbranch-alias
.