Como fazer downgrade do Composer, PHP e NPM
TL;DR: Se você estiver trabalhando em uma variedade de projetos, cada um dos quais requer diferentes versões de PHP, Composer e/ou NPM, talvez seja necessário alterar a versão de todos ou qualquer permutação de qualquer um desses utilitários.
Este artigo descreve quais etapas precisam ser executadas para fazer downgrade do Composer, PHP ou NPM ao trabalhar em qualquer projeto.
Fazer downgrade do Composer, PHP e NPM
Fazendo downgrade do Composer 2 para o Composer 1
Nos últimos meses, tenho usado o Composer 2 sem problemas; no entanto, acabei de precisar fazer o downgrade do Composer para um projeto atual.
Para fazer isso, emita o seguinte comando no terminal:
$ sudo composer self-update --1
Normalmente, isso funcionará. Se já faz algum tempo desde que você fez algo assim, talvez seja necessário atualizar suas chaves.
Verificar chaves
Os comandos do terminal para atualizar isso são fáceis o suficiente em termos de orientá-lo como fazê-lo, mas ter o seguinte URL será útil.
Primeiro, pegue este URL: https://composer.github.io/pubkeys.html
.
Em seguida, emita o seguinte comando:
$ composer self-update --update-keys
A partir daí, o terminal solicitará qual chave você precisa inserir. Uma vez feito, você poderá concluir o processo de downgrade.
Fazer downgrade do PHP
Eu uso o Homebrew para gerenciar as várias instalações de PHP que tenho. Eu tenho trabalhado em um projeto que estava usando PHP8, mas precisei fazer o downgrade.
Supondo que você já tenha o pacote existente para a versão do PHP que deseja usar, você pode usar uma das versões anteriores instaladas.
Por exemplo, eu tenho o PHP 7.3.26 instalado na /usr/local/Cellar/php@7.3
minha máquina local. Para ver quais versões você instalou, eu faço algo assim:
$ ls /usr/local/Cellar/php*
E o esquema retornará os diretórios das versões do PHP que instalei. No momento em que escrevo este texto, tenho:
/usr/local/Cellar/php
qual é8.0.3
/usr/local/Cellar/php@7.3
qual é7.3.27
Para usar a versão mais antiga, primeiro preciso desvincular a versão atual do PHP:
$ brew unlink php
E então crie um link para a versão anterior:
$ brew link php@7.3 --force --overwrite
E é importante usar o nome do diretório (como php@7.3
o terminal retorna acima).
Para verificar se isso funciona, você deve poder executar $ php -v
e ver a versão que está sendo executada no momento.
Rebaixar NPM
Semelhante aos dois itens anteriores acima, precisei fazer o downgrade de um pacote que veio como informação ao ser executado npm i
no terminal.
Supondo que o aviso, erro ou aviso mostre a versão de que você precisa, use isso como um guia para qual versão fazer o downgrade.
Primeiro, identifique a versão atual executando:
$ npm -v
Em seguida, usando as informações da mensagem no terminal, execute o seguinte comando:
$ npm install -g npm@6.13.4
Feito isso, verifique novamente a versão usando o mesmo comando acima e ela deve corresponder ao que você acabou de instalar.
Nem tudo de uma vez
Obviamente, você pode não precisar alterar tudo isso ao mesmo tempo, mas um de cada vez. E isso não é incomum. Este post é o resultado de meu trabalho em algo do front-end ao back-end que exigia que eu atualizasse todo o ambiente.
Em última análise, faça upgrade ou downgrade apenas o que você precisa. Um não exige a necessidade de atualizar os outros.