Les appels à « composer install » ne doivent utiliser que des fichiers zip satis dist, jamais source
-
26-12-2019 - |
Question
Nous utilisons un dépôt satis pour héberger les dépendances des fichiers zip.Le tableau de référentiels de notre fichier composer.json pointe vers le dépôt satis et désactive packagist.Mais lorsque nous exécutons composer update, composer.lock répertorie toujours la source d'origine sous "source" (celle répertoriée dans satis.json sous les référentiels).Le satis est répertorié sous « dist ».Ce qui pose problème car un appel à composer install téléchargera la source.
Comment puis-je demander à composer install de télécharger uniquement le fichier zip satis dist et rien d'autre ?
La solution
Nous avions exactement le même problème que vous décrivez.Nous avons réussi à nous mettre au travail en supprimant "skip-dev": true
(nous l'avions là lors du dépannage) et en cours d'exécution composer update
avec --prefer-dist
option.
Je ne sais pas exactement comment tout cela est mis en place, tout nouveau pour satisfaire et encore en train d'apprendre le compositeur.J'espère que cela aidera quelqu'un dans le même bateau.
Autres conseils
Si vous avez un vieux composer.lock
fichier créé avant la configuration de Satis et la désactivation de l'accès à Packagist, c'est normal.
Et le simple fait d’essayer de mettre à jour avec une installation existante chargée dans le mauvais sens persistera également.Si vous souhaitez recommencer complètement, supprimez les deux composer.lock
et le vendor
dossier et exécuter composer update
.Pour être encore plus sûr, composer update --prefer-dist
.
Si cela ne donne toujours pas ce que vous souhaitez, vous devrez probablement jeter un œil aux versions des dépendances.Y a-t-il des succursales requises?
Et l'autre chose est la façon dont vous avez configuré votre instance Satis.J'en exécute un depuis environ un an, qui utilise un processus en deux étapes pour récupérer à la fois les référentiels externes et locaux, et cela fonctionne très bien.Peut-être pourriez-vous ajouter plus de détails à ce sujet.