Відповідно до: https://docs.npmjs.com/files/folders
- Локальна інсталяція (за замовчуванням): додає матеріали до ./node_modules поточного кореня пакета.
- Глобальна інсталяція (з -g): розміщує матеріали в / usr / local або там, де встановлений вузол.
- Встановіть його локально, якщо вам потрібно ().
- Встановіть його глобально, якщо ви збираєтеся запускати в командному рядку. -> Якщо вам потрібні обидва, то встановіть їх в обох місцях або скористайтеся посиланням npm.
префікс Конфігурація
Конфігурація префікса за замовчуванням визначає місце, де встановлено вузол. У більшості систем це так /usr/local
. У вікнах це точне розташування двійкового файлу node.exe .
Документи можуть бути трохи застарілими, але вони пояснюють, чому глобальні встановлення можуть потрапити в різні каталоги:
(dev) go|c:\srv> npm config ls -l | grep prefix
; prefix = "C:\\Program Files\\nodejs" (overridden)
prefix = "C:\\Users\\bjorn\\AppData\\Roaming\\npm"
Виходячи з інших відповідей, може здатися, що перевизначення тепер є місцем розташування за замовчуванням у Windows, і що, можливо, я встановив свою офісну версію до того, як це перевизначення було впроваджено.
Це також пропонує рішення для того, щоб усі члени команди мали глобальні файли, що зберігаються в одному і тому ж абсолютному шляху відносно їх ПК, тобто (запускати як адміністратор):
mkdir %PROGRAMDATA%\npm
setx PATH "%PROGRAMDATA%\npm;%PATH%" /M
npm config set prefix %PROGRAMDATA%\npm
відкрийте нове вікно cmd.exe і переінсталюйте всі глобальні пакети.
Пояснення (від lineno.):
- Створіть папку в розумному місці для зберігання глобалів (Microsoft твердо твердить, що вам не слід писати в ProgramFiles, тому% PROGRAMDATA% здається наступним логічним місцем.
- Каталог повинен знаходитись на шляху, тому використовуйте
setx .. /M
для встановлення системного шляху (під HKEY_LOCAL_MACHINE). Це те, що вимагає запуску цього в оболонці з дозволами адміністратора.
- Скажи
npm
використовувати цей новий шлях. (Примітка: папка не відображається в% PATH% у цій оболонці, тому потрібно відкрити нове вікно).