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)?