Lidando com pacotes globais do npm

Diego Martins de Pinho
Code Prestige
Published in
3 min readMar 4, 2021

Se você é um(a) desenvolvedor(a) web provavelmente já usou o npm para instalar pacotes de forma global na sua máquina (usando o -g). Um exemplo clássico são os utilitários do create-react-app e o pacote http-server. Quando instalados de forma global, nos permitem que sua utilização seja feita em qualquer diretório/projeto e não somente naqueles em que estão contidos como dependências no package.json.

O npx é uma alternativa interessante para fugirmos das instalações globais, no entanto, nem sempre ele é uma opção viável. Neste caso, fica a dúvida: como podemos ver, atualizar e/ou remover estes pacotes globais?

É sobre isso que falaremos hoje.

Listando os pacotes

Assumindo que você está com o npm em dia na sua máquina, abra o seu terminal e digite o comando:

npm list -g — depth=0

Este comando fará com que todos os pacotes e suas respectivas versões apareçam na tela, conforme mostra o print abaixo.

Notaram que eu não estou com o npm em dia? Vamos ver como podemos fazer para checar se a versão instalada para este pacote é a mais recente.

Atualizando os pacotes

Para checar se os pacotes instalados globalmente estão desatualizados, basta usar o comando:

npm outdated -g

Este comando te mostrará uma tabela com as versões atuais, as versões mais próximas e a última lançada. Isso é importante para que você possa avaliar o cenário antes de sair atualizando tudo sem distinção.

Reparem que além do npm, eu tenho vários pacotes desatualizados. Para atualizá-los, temos duas alternativas diferentes: um a um ou todos de uma vez. Caso você queira ser mais cuidadoso, use o comando:

npm update -g <nome_do_pacote>

Isso atualizará somente o pacote selecionado para a versão marcada como wanted. Caso você queira a mais atual, especifique a versão:

npm install -g <nome_do_pacote>@lastest.

Caso você queira atualizar tudo em uma tacada só, basta eliminar o nome do pacote do comando anterior, ou seja, executar npm update -g. No entanto, já foram reportados oficialmente problemas com esse comando de forma global. Minha recomendação é que você instale um a um.

Mas… e se encontrarmos um pacote indesejado? Um pacote antigo que não faz mais sentido ser usado? Como eliminá-lo?

Eliminando pacotes

O processo de desinstalação também é bastante simples. No caso eu queria remover o pacote jshint. Para isso, basta executar: npm uninstall -g jshint

Conclusão

O npm é uma ferramenta extraordinária mas que nem sempre deixa as coisas tão claras como deveria. Neste artigo vimos como listar, atualizar e excluir pacotes instalados de forma global na máquina. Lembrando que é possível que ainda existam problemas na atualização global de pacotes quando feita para todos os pacotes de uma vez. Em todos os outros casos, o uso realmente não tem segredo, basta executá-los.

Se tratando de node e suas dependências, tenho certeza que sua máquina agradecerá se você remover algumas delas. 😉

Agradecimentos

Curtiu? Então dê uma passada no meu canal no Youtube ou me procure nas redes sociais para trocarmos uma ideia!

--

--

Diego Martins de Pinho
Code Prestige

Professor de tecnologia, desenvolvedor de software e escritor