Executando verificação de segurança...
9

npm vs npx: qual a diferença?

Se você está começando no ecossistema do Node.js, é bem comum confundir e nem entender o npm e npx. O que eles fazem? Qual a diferença? Onde moram? De que vivem?

npm

O npm é o gerenciador de pacotes do node, (Node Package Manager).

Você usa o npm principalmente para instalar dependências e rodar scripts do projeto, aqueles scripts declarados no manifesto package.json.

For example:

npm install react # Instalando um package normal
npm install -D eslint # Instalando um package de desenvolvimento
npm run dev # Rodando o script dev declarado no package.json

No fim do dia, o npm faz essa sequência:

  • baixa os pacotes
  • adiciona ao node_modules
  • registra no package.json

npx

O npx serve para executar pacotes, sem ter que instalar globalmente.

Exemplos:

npx create-react-app meu-app
npx eslint .
npx prisma migrate dev

O npx:

  • usa a versão local do pacote (se existir)
  • ou baixa temporariamente, executa e descarta

É como se, pegando como exemplo o create-react-app, ele baixasse temporáriamente o pacote create-react-app, e o executasse, sem ter que instalar globalmente e correr riscos de conflitos de versões posteriormente.

Já quando você chama ele dentro do seu working directory, e você já tem esse pacote instalado localmente no escopo do projeto, ele apenas executa ele, como eh o caso do prisma e do eslint dos exemplos.

Diferença na prática

  • npm → instalar e gerenciar dependências
  • npx → executar comandos de pacotes

Uma regra simples de lembrar:

npm instala, npx executa

Desde o npx, quase não faz mais sentido instalar ferramentas globalmente.

Se esse post te ajudou, deixa um comentário ou complementa com mais exemplos, valeuzasso!

Carregando publicação patrocinada...
1