Коли я повинен використовувати npm зі знаком "-g" і чому?


117

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

Мені хотілося б дізнатися більше про те, як працює прапор "-g" і навіщо його використовувати. Як і в більшості блогів і вікі, вони посилаються на використання "-g" при установці, не пояснюючи чому, і я розумію, що ці пакети встановлені в усьому світі.

  • Але чому я повинен встановлювати ці пакунки завжди в усьому світі?
  • Що означає встановити ці пакети без прапора "-g"?
  • Що робити з встановленими пакетами на локальному рівні, скажімо, пісочниці для різних проектів?
  • Як я можу тоді скласти список пакетів npm, що використовуються в проекті, і об'єднати його в проект, якщо мені це потрібно для того, щоб перевірити його за допомогою контролю версій (якщо можливо взагалі)?

Відповіді:


122

-g- це глобальний прапор встановлення , як пояснено у цій відповіді . Це детально висвітлено в цій публікації блогу на вузлі .

Правила:

  • Встановіть глобально, якщо пакет містить інструменти командного рядка
  • Встановіть локально, якщо ви використовуєте пакет як частину вашої програми
  • Встановлюйте глобально та локально, якщо застосовуються обидва випадки використання

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.