DEV Community

Ana Caroline Campos
Ana Caroline Campos

Posted on

3 1

Diferença entre NPM INIT e NPX

Tanto o npm init quanto o npx são usados para gerenciar pacotes do node. A difrença é que com o npm init nós instalamos um pacote, já no npx nós executamos ele. Bem simples.

Meme com dois homens aranhas se encarando como se fossem iguais

Podemos entender melhor usando o exemplo do create-react-app e do http-server.

npm init react-app

O npm init é um inicializador de pacotes. Ele é usado para iniciar um template de projeto. Com ele não é preciso colocar o create como prefixo porque ele já faz isso automáticamente.

Exemplo de código executado  com sucesso de npm init react-app

npx create-react-app

Exemplo de códido executado com sucesso de npx create-react-app

O npx é um executador (node package eXecute). Ele inicia seu trabalho rastreando na sua máquina ou na pasta do projeto por pacotes que correspondam ao que você está tentando executar. Caso ele não encontre ele fará download dessas depêndencias em uma pasta temporária.

Exibindo pasta temporária do npx

npm install http-server

E por último, o npm install faz a instalação do pacote e depois disso você pode usá-lo só chamando o nome do pacote.

Executando código com sucesso de npm install http-server -g

Quando pensamos no npm install é importante nos atentarmos para não termos pacotes globais desatualizados.

Já com o npx o ideal é usar para pacotes que usaremos pontualmente. Fora isso rodem o npm install na pasta do projeto. É para você que quer usar um pacote sem instalar ele.

Executando código de npx http-server

O npm init, como o próprio nome diz, é um inicializador. Se você usar esse comando para um pacote que não é de inicialização você vai receber um erro bem bonito:

Exibe erro ao tentar executar o código npm init http-server

To do list com começar a usar npm init e parar de usar npx para tudo listados

referências: npm-init, npx, npm-install.

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️