Когда мне следует использовать npm с флагом «-g» и почему?

117

Недавно я начал использовать npm для управления пакетами js. Хотя у меня есть хорошее представление об управлении пакетами в разных средах (скажем, с использованием apt, rvm / gem, pythonbrew / virtualenv / pip), я не совсем понимаю, насколько полностью подходит npm.

Я хотел бы узнать больше о том, как работает флаг «-g» и почему я должен его использовать. Как и в большинстве блогов и вики, они ссылаются на использование «-g» при установке без объяснения причин, и я понимаю, что эти пакеты устанавливаются глобально.

  • Но почему я должен всегда устанавливать эти пакеты глобально?
  • Что означает установка этих пакетов без флага «-g»?
  • Что мне делать с установленными пакетами локально, скажем, изолированными для разных проектов?
  • Как тогда я могу составить список пакетов npm, используемых в проекте, и связать его с проектом, если мне нужно было проверить его с помощью контроля версий (если это вообще возможно)?
suVasH .....
источник

Ответы:

122

-g- это глобальный флаг установки , как описано в этом ответе . Это подробно описано в этом сообщении блога об узлах .

Эмпирические правила:

  • Установить глобально, если пакет предоставляет инструменты командной строки
  • Установите локально, если вы используете пакет как часть своего приложения.
  • Установите глобально и локально, если применимы оба варианта использования
cbednarski
источник