Где npm устанавливает пакеты? - PullRequest
777 голосов
/ 08 мая 2011

Может кто-нибудь сказать мне, где я могу найти модули Node.js, которые я установил, используя npm?

Ответы [ 21 ]

940 голосов
/ 08 мая 2011

Глобальные библиотеки

Вы можете запустить npm list -g, чтобы увидеть, какие глобальные библиотеки установлены и где они расположены.Используйте npm list -g | head -n 1 для усеченного вывода, показывающего только путь.

В системах Unix они обычно помещаются в /usr/local/lib/node или /usr/local/lib/node_modules при глобальной установке.Если для этого пути задана переменная среды NODE_PATH, модули можно найти по узлу.

Windows XP - %USERPROFILE%\AppData\npm\node_modules
Windows 7, 8 и 10 - %USERPROFILE%\AppData\Roaming\npm\node_modules

Неглобальные библиотеки

Неглобальные библиотеки устанавливаются в подпапку node_modules в папке, в которой вы находитесь.

Вы можете запустить npm list, чтобы увидеть установленные неглобальные библиотеки для вашего текущего местоположения.

500 голосов
/ 19 июня 2014

Команда npm root сообщит вам эффективный каталог установки ваших пакетов npm.

Если ваш текущий рабочий каталог является пакетом узла или подкаталогом пакета узла, npm root сообщитВы локальный каталог установки.npm root -g покажет глобальный установочный корень независимо от текущего рабочего каталога.

См. Документацию.

184 голосов
/ 12 мая 2016

Используйте команду npm root -g для определения вашего глобального npm пути.

Пример:

$ npm root -g
/usr/local/lib/node_modules
80 голосов
/ 04 декабря 2014

Для глобально установленных модулей:

Другие ответы дают вам ответы, относящиеся к конкретной платформе, но в общем случае это:

Когда вы устанавливаете глобальный модуль с npm install -g something, npm ищет переменную конфигурации prefix, чтобы узнать, где установить модуль.

Вы можете получить это значение, набрав npm config get prefix

Чтобы отобразить все глобальные модули, доступные в этой папке, используйте npm ls -g --depth 0 (depth 0, чтобы не отображать их зависимости).

Если вы хотите изменить путь к глобальным модулям, используйте npm config edit и вставьте prefix = /my/npm/global/modules/prefix в файл или используйте npm config set prefix /my/npm/global/modules/prefix.

Когда вы используете такие инструменты, как nodist , они изменяют путь установки платформы по умолчанию для глобальных модулей npm.

61 голосов
/ 25 марта 2014

В Windows я использовал npm list -g, чтобы выяснить это.По умолчанию мои (глобальные) пакеты устанавливались на C:\Users\[Username]\AppData\Roaming\npm.

16 голосов
/ 08 мая 2011

В более ранних версиях модулей NPM всегда размещались в / usr / local / lib / node или там, где вы указали корень npm в файле .npmrc. Однако в NPM 1.0+ модули установлены в двух местах. Вы можете иметь модули, установленные локально для вашего приложения в /.node_modules, или вы можете установить их глобально, что будет использовать вышеуказанное.

Более подробную информацию можно найти на https://github.com/isaacs/npm/blob/master/doc/install.md

13 голосов
/ 24 августа 2016

Если модуль был установлен с глобальным (-g) флагом, вы можете получить родительское местоположение, выполнив следующую команду

npm get prefix

или

npm ls -g --depth=0

, которая будет печатать местоположение вместе ссписок установленных модулей

Приветствия: -)

13 голосов
/ 03 января 2018

Если вы ищете исполняемый файл, который установил npm, возможно, потому что вы хотели бы поместить его в свой PATH, вы можете просто сделать

npm bin

или

npm bin -g
12 голосов
/ 20 мая 2017

Не прямой ответ, но может помочь ....

У npm также есть папка кеша, которую можно найти, запустив npm config get cache (%AppData%/npm-cache в Windows).

Модули npm сначала загружаются здесь, а затем копируются в глобальную папку npm (%AppData%/npm/Roaming в Windows) или в специальную папку проекта (your-project/node_modules).

Так что если вы хотите отслеживать npmпакеты и, как-то, список всех загруженных пакетов npm (если кэш npm не очищен) просматривают эту папку.Структура папок имеет вид {cache}/{name}/{version}

Это также может помочь https://docs.npmjs.com/cli/cache

11 голосов
/ 11 сентября 2014

Самый простой способ - сделать

npm list -g

, чтобы вывести список пакетов и просмотреть их установленное местоположение.

У меня былоустановлен npm через chololatey, поэтому расположение:

C: \ MyProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.31 \ tools \ node_modules

C: \ MyProgramData \ - расположение шоколадного репо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...