2016-02-02 1 views
0

J'ai une dépendance hébergée dans un dépôt git privé, et j'utilise satis pour la gestion des paquets. J'ai taggés un commettras à la branche principale du repo « 1.0.0 », et dans le fichier composer.json, où je souhaite utiliser ce paquet, je l'ai spécifiéLe compositeur n'utilise pas les versions "dist", même il est spécifiquement dit à

"require": { 
    "package/name": "~1.0" 
}, 
"repositories": [ 
{ 
    "type": "composer", 
    "url": "http://myownsatisrepo" 
}, 
"config": { 
    "preferred-install": "dist" 
} 

et je suis la commande composer install --prefer-dist

Donc, le fait que j'ai spécifié une version de paquet stable devrait assurer que compositeur ne se contentera pas de cloner le repo (y compris un dossier .git, que je ne veux pas), mais télécharge un paquet. L'indicateur de configuration supplémentaire et le paramètre de la commande d'installation doivent faire la même chose. Cependant, le composeur ne fait que cloner le paquet.

Répondre

1

Le compositeur ne peut télécharger un ZIP de distribution que s'il sait comment l'obtenir. Sinon (ou si l'échec échoue), il clone le référentiel. Lorsque vous utilisez certains hébergeurs de référentiel Git bien connus comme Github et Bitbucket, Composer connaît leur structure API et l'emplacement où télécharger les fichiers ZIP. Si vous utilisez autre chose, ce n'est pas le cas. En guise de dernier recours, les métadonnées de votre Satis pourraient théoriquement inclure des URL de téléchargement pour les fichiers .zip. Satis vous permet de configurer la création de ces fichiers, mais vous aurez la capacité d'hébergement pour tous les fichiers ZIP en plus des méta-données Composer. Si vous ne laissez pas Satis créer des ZIP et que vous utilisez un référentiel qui n'offre pas de fonctionnalités de téléchargement connues de Composer, vous déclenchez toujours un clonage du référentiel, quoi qu'il arrive.

Notez qu'une fois que Composer a obtenu le code source dans un sens ou dans l'autre, il le restera jusqu'à ce que vous supprimiez tout le dossier du fournisseur. Surtout si vous avez cloné le référentiel, il est plus rapide et utilise moins de trafic si Composer met simplement à jour la dernière validation, puis extrait la validation nécessaire.

+0

Je viens de réaliser qu'il me manquait l'option de configuration de satis pour créer ces zips. C'était le problème. – Lars