Quando devo usar o npm com o sinalizador “-g” e por quê?

117

Comecei a usar o npm para gerenciamento de pacotes js recentemente. Embora eu tenha um bom entendimento de gerenciamento de pacotes em diferentes ambientes (digamos, usando apt, rvm / gem, pythonbrew / virtualenv / pip), eu não entendo muito bem como o npm se encaixa totalmente.

Gostaria de saber mais sobre como funciona o sinalizador "-g" e por que devo usá-lo. Como na maioria dos blogs e wiki, eles se referem ao uso de "-g" ao instalar sem explicar o porquê, e eu entendo que esses pacotes são instalados globalmente.

  • Mas por que devo instalar esses pacotes sempre globalmente?
  • O que significa instalar esses pacotes sem o sinalizador "-g"?
  • O que eu faço com os pacotes instalados localmente, digamos, em sandbox para diferentes projetos?
  • Como posso, então, fazer uma lista de pacotes npm usados ​​em um projeto e empacotá-la no projeto se eu precisar fazer o check-in com controle de versão (se possível)?
suVasH .....
fonte

Respostas:

122

-gé o sinalizador de instalação global , conforme explicado nesta resposta . É abordado em detalhes nesta postagem do blog do nó .

As regras básicas:

  • Instale globalmente se o pacote fornecer ferramentas de linha de comando
  • Instale localmente se estiver usando o pacote como parte de seu aplicativo
  • Instale global e localmente se ambos os casos de uso se aplicarem
cbednarski
fonte