Ответ 1
В соответствии с: https://docs.npmjs.com/files/folders
- Локальная установка (по умолчанию): помещает содержимое в. / node_modules текущего корня пакета.
- Глобальная установка (с -g): помещает файл в /usr/local или где-либо node.
- Установите его локально, если вы захотите() его.
- Установите его глобально, если вы собираетесь запустить его в командной строке. → Если вам нужны оба, установите их в обоих местах или используйте ссылку npm.
префикс Конфигурация
Конфигурация префикса по умолчанию соответствует местоположению, где установлен node. На большинство систем, это
/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% в эта оболочка, поэтому вы должны открыть новое окно).