Le message "Tué" signifie généralement que votre processus a consommé trop de mémoire, vous devrez peut-être simplement ajouter plus de mémoire à votre système si possible. Au moment d'écrire cette réponse, j'ai dû augmenter la mémoire de ma machine virtuelle à au moins 768 Mo afin de pouvoir composer update
travailler dans certaines situations.
Cependant, si vous faites cela sur un serveur en direct, vous ne devriez pas utiliser composer update
du tout. Ce que vous devriez plutôt faire est:
- Exécutez
composer update
dans un environnement local (tel que directement sur votre ordinateur portable / ordinateur de bureau physique, ou un conteneur / VM Docker s'exécutant sur votre ordinateur portable / ordinateur de bureau) où les limitations de mémoire ne devraient pas être aussi sévères.
- Téléchargez ou
git push
le fichier composer.lock.
- Exécutez
composer install
sur le serveur en direct.
composer install
lira alors à partir du fichier .lock, en récupérant exactement les mêmes versions à chaque fois plutôt que de trouver les dernières versions de chaque paquet. Cela rend votre application moins susceptible de se briser et le compositeur utilise moins de mémoire.
En savoir plus ici: https://getcomposer.org/doc/01-basic-usage.md#installing-with-composer-lock
Vous pouvez télécharger l'ensemble de vendor
contourner la nécessité d'exécuter le répertoire sur le serveur, composer install
du tout, mais alors vous devez exécuter composer dump-autoload --optimize
.
Si comme moi, vous utilisez une micro VM manquant de mémoire, créer un fichier d'échange fait l'affaire:
Comme plusieurs commentaires l'ont souligné, n'oubliez pas d'ajouter sudo si vous ne travaillez pas en tant que root.
btw, n'hésitez pas à sélectionner un autre emplacement / nom de fichier / taille pour le fichier.
/var
n'est probablement pas le meilleur endroit, mais je ne sais pas quel endroit serait, et je m'en soucie rarement car les petits serveurs sont principalement utilisés à des fins de test.la source
sudo
- j'ai dû utiliser les privilèges root pour exécuter ces commandes.swapon: swapfile: swapon failed: Operation not permitted
, pourquoi?Malheureusement, le compositeur nécessite beaucoup de RAM et de puissance de traitement. Voici quelques choses que j'ai faites, qui combinées, ont rendu le processus supportable. C'était sur mon parc en nuage env.
service mysql stop
(tuez vos services DB / mem-hog pour libérer de la RAM - n'oubliez pas de le redémarrer!)top
pour surveiller la consommation de mémoire / d'échange jusqu'à ce que le processus soit terminé.composer.phar update --prefer-dist -vvv
(sortie verbeuse [se bloque toujours à certains moments lorsque vous travaillez] et utilise des fichiers zip de distribution). Peut-être essayer un--dry-run
aussi?la source
top
parhtop
, plus pratique.Correction de DigitalOcean qui ne nécessite pas de mémoire supplémentaire - activation du swap, voici un exemple pour 1 Go:
dans le terminal exécuter ci-dessous
La solution ci-dessus fonctionnera jusqu'au prochain redémarrage, après quoi le swap devra être réactivé. Pour le conserver entre les redémarrages, ajoutez le fichier d'échange à fstab:
ouvrir le fichier ci-dessus ajouter ajouter la ligne ci-dessous au fichier
redémarrez maintenant le serveur. Le compositeur nécessite des travaux très bien.
la source
Exécutez
composer self-update
etcomposer clearcache
supprimez fournisseur et composer.lock, redémarrez votre environnement local, puis exécutezphp -d memory_limit=-1 /usr/local/bin/composer install
la source
J'ai cette erreur lorsque j'ai couru
composer install
dans mon conteneur PHP DOCKER, c'est un problème de mémoire. Résolu en augmentant la mémoire SWAP dans DOCKER PREFERENCES de 512 Mo à 1,5 Gola source
Augmenter la limite de mémoire pour le compositeur
Il pourrait être nécessaire de redémarrer après ce changement
la source
Je reçois ce problème causé par un package qui ne se met pas à jour correctement avec des caractères génériques, j'utilise directement la dernière version et cela fonctionne enfin.
"l3 / cas-bundle": "~ 1.0" -------> "l3 / cas-bundle": "1.1.13"
la source
Si vous utilisez docker, vous pouvez utiliser COMPOSER_PROCESS_TIMEOUT
la source
Voici comment j'ai réussi à installer le package maatwebsite \ excel de composer dans Laravel Framework:
composer update
partir de l'invite de commande locale (puis attendez que tout le processus d'installation soit terminé).composer install
sur un serveur distant (puis attendez que tout le processus soit terminé).la source
la source
Résolu sur Laravel / Homestead (Vagrant Windows)
Modifier
Homestead.yaml
et augmenter la mémoire de 2048 à 4096vagabonder
vagabond ssh
Installez Symfony avec cette ligne sur le dossier que vous choisissez (doit être sans fichiers)
la source
Vous pouvez essayer de configurer
preferred-install
pour"dist"
dans la configuration Composer.la source
J'obtenais cette erreur dans un environnement Docker local. Je l'ai résolu en redémarrant simplement Docker.
la source