Глобальное место установки npm в окнах?

Я не уверен на 100%, но я считаю, что я установил node v5 из установщика Windows на моем домашнем и офисном ПК.

На моем домашнем ПК глобальные установки происходят в% APPDATA%:

(dev) go|c:\srv> which lessc
c:\users\bjorn\appdata\roaming\npm\lessc
c:\users\bjorn\appdata\roaming\npm\lessc.cmd

пока на моем офисном ПК они идут под программными файлами:

(dev) go|w:\srv> which lessc
c:\program files\nodejs\lessc
c:\program files\nodejs\lessc.cmd

Мне нужно предоставить полный путь к ряду этих глобальных инструментов для наблюдателя файлов PyCharm, и поскольку файл проекта, который я использовал, имеет смысл не иметь глобальных ресурсов под пользовательской папкой.

Почему глобальная установка заканчивается в разных папках и как я могу заставить их указать место, которое является общим для всех членов команды?

Ответы

Ответ 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% в эта оболочка, поэтому вы должны открыть новое окно).

Ответ 2

Это типичные пути npm, если вы устанавливаете пакет по всему миру:

Windows XP - %USERPROFILE%\Application Data\npm\node_modules
Newer Windows Versions - %AppData%\npm\node_modules

Ответ 3

Просто нажмите кнопку окна и введите% APPDATA% и введите ввод.

Вы находитесь здесь, где вы можете найти папку \npm\ node_modules. Здесь размещаются глобальные модули в вашей системе.

Ответ 4

Если вы просто пытаетесь выяснить, где npm устанавливает ваш глобальный модуль (заголовок этой темы), посмотрите на вывод при запуске npm install -g sample_module

$ npm install -g sample_module C:\Users\пользователь\AppData\Roaming\npm\sample_module → C:\Users\пользователь\AppData\Roaming\npm\node_modules\sample_module\bin\sample_module.js + [email protected] 0 обновлено 1 пакет в 2.821s