"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > npm versus npx

npm versus npx

Publicado em 2024-11-08
Navegar:584

npm Vs npx

Se você trabalha com Node.js, provavelmente já encontrou npm e npx.
Embora pareçam semelhantes e sejam partes integrantes do ecossistema Node.js, eles servem a propósitos diferentes. Esta postagem explorará as diferenças entre npm e npx, ajudando você a entender quando e por que usar cada um.

O que é NPM?

NPM, abreviação de Node Package Manager, é o gerenciador de pacotes padrão para Node.js. Ele permite que os desenvolvedores instalem, compartilhem e gerenciem pacotes (bibliotecas ou módulos de código) em seus projetos.

Aqui estão algumas tarefas comuns nas quais o npm ajuda:

  • Instalando dependências:

npm install 
  • Gerenciamento de versões de pacotes: Bloqueio de versões específicas de bibliotecas para garantir compilações consistentes.

  • Executando scripts específicos do projeto: Definido no arquivo package.json.


npm run 

O que é NPX?

npx é uma ferramenta introduzida no NPM versão 5.2.0 (julho de 2017). Enquanto o npm gerencia dependências e pacotes, o npx é projetado para executar pacotes Node.js, especialmente ferramentas CLI, sem instalá-los globalmente.

Principais diferenças entre NPM e NPX

1. Instalação vs execução de pacote

  • NPM: Quando você instala um pacote usando npm, ele instala o pacote globalmente ou localmente no diretório do seu projeto. Isso significa que você deve instalar um pacote antes de poder usá-lo.

npm install -g create-react-app
create-react-app my-app


  • NPX : Com npx, você pode executar ferramentas CLI ou executáveis ​​sem instalá-los globalmente. Por exemplo, você pode executar create-react-app sem instalá-lo globalmente.

npx create-react-app my-app


Isso economiza tempo e espaço em disco, pois evita a instalação de pacotes que você pode usar apenas uma vez.


2. Pacotes Globais
Quando você usa o npm, pacotes globais são instalados e persistem em seu sistema, o que às vezes pode sobrecarregar seu ambiente.

Com o npx, você pode executar um pacote sem se preocupar em mantê-lo permanentemente em seu sistema.

Exemplo de instalação de um pacote globalmente com npm:


npm install -g typescript
tsc --version



Com npx, nenhuma instalação global é necessária:


npx tsc --version



3. Manuseio automático de pacotes
Quando você executa um comando com npx, ele verifica automaticamente se o pacote existe local ou globalmente e, caso contrário, faz o download e o executa temporariamente. Isso é especialmente útil para executar tarefas únicas.

Por exemplo:


npx cowsay "Hello, World!"


Isso fará o download do pacote cowsay se ele não estiver instalado, executá-lo e, em seguida, limpará.


4. Executáveis ​​de pacote sem scripts
Ao executar um comando definido em scripts package.json usando npm, você escreveria:


npm run my-script


Mas com o npx, você pode executar comandos executáveis ​​diretamente:


npx my-script


Isso é especialmente útil se o script não estiver explicitamente definido em package.json.

Quando usar o NPM

- Gerenciando dependências: Use npm para instalar, atualizar e remover dependências do projeto.

- Executando scripts específicos do projeto: Definidos em package.json e adaptados ao seu projeto.

- Gerenciando versões de pacotes: Bloqueio de versões específicas de bibliotecas para manter a consistência do projeto.

Quando usar NPX

- Execução única de pacotes: Use npx para pacotes que você não deseja instalar globalmente, como ferramentas CLI que você usará apenas uma vez.

- Executando executáveis: Para comandos como create-react-app, o npx permite que você os execute sem instalação global.

- Testando diferentes versões: Execute rapidamente uma versão específica de uma ferramenta sem precisar instalá-la.

Finalmente, tanto o npm quanto o npx são ferramentas essenciais no ecossistema Node.js, mas servem a propósitos diferentes. Use npm para gerenciar as dependências do seu projeto e npx para executar pacotes sem instalação permanente.

Essa pequena distinção pode tornar seu fluxo de trabalho mais eficiente, economizando tempo e evitando instalações globais desnecessárias.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/jagroop2001/npm-vs-npx-1anc?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3