Tentative d'initialisation d'un projet PHP / Laravel (en exécutant J'ai essayé de mettre à jour le package qui n'a pas bien interagi avec une version PHP plus récente, en utilisant J'ai lu dans la documentation Comment je peux augmenter le limite de mémoire (oui - le plus facilement en réglant compositeur installer code>), j'ai rencontré exactement le même problème que décrit ici: Où trouver ce client.php Laravel
Compositeur nécessite code> avec la tentative de mise à niveau du package incriminé, mais ce n'est pas bien allé: p>
compositeur_memory_limit code> variable d'environnement avant d'exécuter
Compositeur code> Comme tant de mention), mais avant de le faire, je voudrais comprendre quelque chose de mal Avec le projet d'épuration de 1536 Mo de limite de mémoire, et si oui, comment comprendre et résoudre le problème? Plus précisément, qu'est-ce que cette commande a fait cette commande que de remplacer la version de la version dans le fichier
compositeur.json code>? Ce qui pourrait aller mal si je modifie manuellement le fichier
compositeur.json code> et exécutez
composez l'installation code> à partir de la table propre (après effacement du répertoire
fournisseur / code> et quoi que ce soit d'autre est écrit dans le répertoire de projet) - la version est conflictuelle avec d'autres dépendances détectées? P> P>
3 Réponses :
Essayez de supprimer votre fichier de fournisseur, puis de continuer à installer le compositeur p>
L'auteur dit que son compositeur est à court de mémoire, ce qui est un cas commun. Supprimer le répertoire du fournisseur ne vous aidera pas.
Cette réponse a manqué évidemment quelques détails.
Suppression du répertoire du fournisseur (et tout ce qui apparaît après compositeur installer code>) + Modification du
compose.json code> + rerunning
compositeur installer code> est à nouveau ce que je souhaite essayer Si j'ai besoin de faire face à cela à nouveau. Vous êtes sur les mêmes pistes que je pensais, je pense.
Veuillez ajouter quelques explications à votre réponse, de sorte que d'autres puissent en apprendre - pourquoi cela devrait-il fournir une expérience différente?
Plus précisément, qu'est-ce que cette commande a fait cette commande que de remplacer la version requise dans le fichier
compositeur.json code>? p> blockQuote>
Il essaie également d'installer une nouvelle version de la dépendance et de le faire pour vérifier si cela est possible (la nouvelle version n'entrait pas en conflit avec d'autres dépendances) et sur quoi d'autre doit être effectuée (Installation / mise à niveau des sous-produits). En pratique, cela signifie une arborescence compliquée de dépendance de reconstruction, qui est un processus compliqué et nécessite beaucoup de mémoire. P>
Édition manuelle
Compositeur.json Code> ne vous donne rien, car il n'installera pas cette dépendance. Vous devez toujours exécuter
Mise à jour du compositeur CODE> pour le faire, ce qui nécessitera de la reconstruction de l'arborescence de dépendance et de résulter les mêmes problèmes de mémoire qu'avec la commande
nécessite p>
J'ai oublié d'expliquer le "code> compose" / code> installation code> à partir de la table propre après l'édition du fichier ... (Je vais probablement essayer cela plus tard, la question a été écrite avec le souhait de mieux comprendre le fond de cette échec.)
(1.6 Go pour le bâtiment et la vérification du graphique de dépendance semble vaincu grose, je ne comprends pas pourquoi cela devrait arriver.)
Dans ma compréhension, Mise à jour du compositeur Code> mettra à jour tous les paquets Qu'est-ce que je ne veux pas faire pour une application en cours de production avec des centaines de milliers d'utilisateurs. Pas sans tests globaux.
compositeur installer code> installera des dépendances à partir de
composer.lock code> (précédemment calculé pour ancien
compositeur.json code>), donc vos modifications dans
Compositeur.json code> sera ignoré.
Mise à jour du Compositeur CODE> est en effet une mauvaise idée dans ce cas, je l'avais mentionné que de pointer que l'édition manuelle de
compositeur.json code> ne vous aidera pas avec les problèmes de mémoire.
Vous pouvez essayer de mettre à jour le compositeur à la dernière version: 2.0 Direction générale a de grandes améliorations de la consommation de mémoire.
Quand je rencontre un problème comme celui-ci, je laisse temporairement compositeur code> avoir une mémoire illimitée:
Si vous le mettez dans
Compositeur.json code>, fonctionne-t-il? Essayez de supprimer le Vendeur Dir et
Compositeur Installez code>. Avez-vous des scripts post-mise à jour dans Compositeur.json?
Je n'ai pas la solution pour "pourquoi", mais vous pouvez atténuer cela en ajoutant une "variable d'environnement" à votre commande CLI:
compositeur_memory_limit = -1 Compositeur ... code>
Il n'y a rien de mal à votre configuration. C'est juste que le compositeur a en fait besoin d'une charge de mémoire pour résoudre tout l'arborescence de dépendance.
Stackoverflow.com/a/62043521/2188922 Cette réponse peut vous donner des amplifictions pour organiser le swap pour surmonter ce problème
@Timelewis ... Bien sûr, semble évident, mais je n'ose tout simplement pas faire cela, car je dois utiliser l'ordinateur (Mac) pour un autre travail aussi et que 16 Go de RAM presque épuisé et que SSD a presque pleinement épuisé Juste aujourd'hui même sans une telle tentative.