Comment rétrograder Composer, PHP et NPM
TL;DR : Si vous travaillez sur une variété de projets dont chacun nécessite différentes versions de PHP, Composer et/ou NPM, vous devrez peut-être changer la version de tout ou partie de l’un de ces utilitaires.
Cet article décrit les étapes à suivre pour rétrograder Composer, PHP ou NPM lorsque vous travaillez sur un projet donné.
Rétrograder Composer, PHP et NPM
Passer de Composer 2 à Composer 1
Depuis quelques mois, j’utilise Composer 2 sans problème. cependant, je viens d’avoir besoin de rétrograder Composer pour un projet en cours.
Pour ce faire, lancez la commande suivante dans le terminal :
$ sudo composer self-update --1
Habituellement, cela fonctionnera. Si cela fait un petit moment que vous n’avez rien fait de ce genre, vous devrez peut-être mettre à jour vos clés.
Vérifier les clés
Les commandes du terminal pour la mise à jour sont assez simples pour vous guider sur la façon de le faire, mais avoir l’URL suivante sera pratique.
Tout d’abord, saisissez cette URL: https://composer.github.io/pubkeys.html
.
Lancez ensuite la commande suivante :
$ composer self-update --update-keys
À partir de là, le terminal vous demandera quelle clé vous devez saisir. Une fois cela fait, vous devriez pouvoir terminer le processus de rétrogradation.
Rétrograder PHP
J’utilise Homebrew pour gérer les différentes installations de PHP que j’ai. J’ai travaillé sur un projet qui utilisait PHP8 mais j’ai dû le rétrograder.
En supposant que vous disposiez déjà du package existant pour la version de PHP que vous souhaitez utiliser, vous pouvez utiliser l’une des versions installées précédentes.
Par exemple, PHP 7.3.26 est installé /usr/local/Cellar/php@7.3
sur ma machine locale. Pour voir quelles versions vous avez installées, je fais quelque chose comme ceci :
$ ls /usr/local/Cellar/php*
Et l’outline renverra les répertoires des versions de PHP que j’ai installées. Au moment d’écrire ces lignes, j’ai :
/usr/local/Cellar/php
lequel est8.0.3
/usr/local/Cellar/php@7.3
lequel est7.3.27
Pour utiliser l’ancienne version, je dois d’abord dissocier la version actuelle de PHP :
$ brew unlink php
Et créez ensuite un lien vers la version précédente :
$ brew link php@7.3 --force --overwrite
Et il est important d’utiliser le nom du répertoire (tel que php@7.3
ce terminal renvoie ci-dessus).
Pour vérifier que cela fonctionne, vous devriez pouvoir exécuter $ php -v
et voir la version en cours d’exécution.
Rétrograder NPM
Semblable aux deux éléments précédents ci-dessus, j’ai dû rétrograder un package fourni à titre d’information lors de l’exécution npm i
dans le terminal.
En supposant que l’avertissement, l’erreur ou l’avis indique la version dont vous avez besoin, utilisez-la comme guide pour déterminer la version à rétrograder.
Tout d’abord, identifiez la version actuelle en exécutant :
$ npm -v
Ensuite, en utilisant les informations du message dans le terminal, exécutez la commande suivante :
$ npm install -g npm@6.13.4
Une fois fait, revérifiez la version une fois de plus en utilisant la même commande que ci-dessus et elle devrait correspondre à ce que vous venez d’installer.
Pas tout à la fois
Évidemment, vous n’aurez peut-être pas besoin de changer tout cela en même temps, mais un à la fois. Et ce n’est pas inhabituel. Ce message est le résultat de mon travail sur quelque chose du front-end au back-end qui nécessitait que je mette à jour l’ensemble de l’environnement.
En fin de compte, mettez à niveau ou rétrogradez uniquement ce dont vous avez besoin. L’un ne nécessite pas la nécessité de mettre à jour les autres.