A principal diferença entre pacotes locais e globais é esta:

  • os pacotes locais são instalados no diretório onde você executa npm install <package-name>, e eles são colocados na pasta node_modules sob este diretório
  • os pacotes globais são todos colocados em um único lugar no seu sistema (exatamente onde depende da sua configuração), independentemente de onde você executa npm install -g <package-name>

No seu código você só pode requerer pacotes locais:

require('package-name')

Então quando você deve instalar de uma maneira ou de outra?

Em geral, todos os pacotes devem ser instalados localmente.

Isso garante que você possa ter dezenas de aplicativos em seu computador, todos rodando uma versão diferente de cada pacote se necessário.

Atualizar um pacote global faria com que todos os seus projetos usassem a nova versão, e como você pode imaginar isso pode causar pesadelos em termos de manutenção, pois alguns pacotes podem quebrar a compatibilidade com outras dependências, e assim por diante.

Todos os projetos têm sua própria versão local de um pacote, mesmo que isso possa parecer um desperdício de recursos, é mínimo comparado com as possíveis consequências negativas.

Um pacote deve ser instalado globalmente quando ele fornece um comando executável que você executa a partir da shell (CLI), e ele é reutilizado através dos projetos.

Você também pode instalar comandos executáveis localmente e executá-los usando o npx, mas alguns pacotes são apenas melhor instalados globalmente.

Grandes exemplos de pacotes globais populares que você deve saber são

  • npm
  • create-react-app
  • vue-cli
  • grunt-cli
  • mocha
  • react-native-cli
  • gatsby-cli
  • forever
  • nodemon

Você provavelmente já tem alguns pacotes instalados globalmente no seu sistema. Você pode vê-los executando

npm list -g --depth 0

na sua linha de comando.

Deixe uma resposta

O seu endereço de email não será publicado.