123 votes

Pourquoi composer install expire-t-il après 300 secondes ?

J'ai un petit projet fait en symfony2 quand j'essaie de le construire sur mon serveur, cela échoue toujours lors du dézippage de Symfony. La construction s'est bien passée et soudainement, composer ne dézippe pas Symfony et je n'ai rien changé. J'ai essayé de construire avec Jenkins et aussi manuellement en bash avec le même résultat. Ce n'est pas un problème de permissions et la connexion internet sur mon serveur est également bonne.

Chargement des dépôts composer avec des informations sur les packages
Installation des dépendances (y compris celles requises pour le développement) à partir du fichier de verrouillage
 - Installation de symfony/symfony (v2.3.4)
 Téléchargement : 100%
[Symfony\Component\Process\Exception\ProcessTimedOutException]
Le processus "unzip '/chemin/vendor/symfony/symfony/6116f6f3
d4125a757858954cb107e64b' -d 'vendor/composer/b2f33269' && chmod -R u+w 'vendor/composer/b2f33269'" a dépassé le délai limite de 300 secondes.

0voto

Miguel Pynto Points 431

Aucune des solutions n'a fonctionné pour moi en exécutant sur win10 wsl ubuntu (désactiver le pare-feu, supprimer les débogueurs, vider le cache, augmenter le délai d'attente, supprimer le vendeur). La seule méthode qui a fonctionné était de supprimer le vendeur et le fichier composer.lock de la machine principale, de copier le fichier composer.json sur une nouvelle machine, d'installer PHP et Composer, d'exécuter la commande composer install (cela devrait prendre moins d'1 seconde pour s'exécuter), puis de copier le répertoire vendeur vers l'autre machine et d'exécuter composer update.

0voto

SunHunter Points 1

Sous Windows 11, et quelque peu lié à une réponse ci-dessus, l'ajout d'une exclusion de dossier à la protection en temps réel peut empêcher l'exécutable "antimalware" de scanner le dossier et causer le délai d'expiration (et éviter de désactiver complètement la "protection en temps réel").

-2voto

user3890355 Points 437

C'est le problème du NFS lent. Composer écrit le cache dans le répertoire NFS. Vous devez installer Composer globalement et réécrire le chemin du cache.

Cela ne fonctionne pas :

php composer.phar install

En utilisant ceci :

composer install

Avant de lancer ceci, vous devez configurer Composer de manière globale. Voir ce https://getcomposer.org/doc/00-intro.md#globally

De plus, vous devez ajouter ces lignes à votre config.json :

"config": {
    "cache-dir": "/var/cache/composer"
}

Cela fonctionne pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X