it-swarm.com.ru

Где npm устанавливает пакеты?

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

700
Tronic

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

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

В системах 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, чтобы увидеть установленные неглобальные библиотеки для вашего текущего местоположения. 

846
Decko

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

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

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

461
Joe Hawkins

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

Пример:

$ npm root -g
/usr/local/lib/node_modules
171
Ravi

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

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

Когда вы устанавливаете глобальный модуль с помощью 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 в файл.

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

71
jakub.g

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

59
9swampy

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

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

16
Nick Campbell

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

npm bin

или же

npm bin -g
13
Ken Goodridge

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

npm get prefix

или же 

npm ls -g --depth=0

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

Ура :-)

12
dheeran

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

У 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
Alireza Fattahi

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

список npm -g

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

Я установил npm через chololatey, поэтому расположение

C:\MyProgramData\шоколадным\Lib\nodejs.commandline.0.10.31\инструменты\node_modules

C:\MyProgramData\- это шоколадное хранилище репо.

9
Tharaka

Вы можете найтиглобально установленные модули командой

npm list -g

Он предоставит вам место, где были установлены модули node.js.

C:\Users\[Username]\AppData\Roaming\npm

Если вы устанавливаете модули node.jslocalallyв папке, вы можете ввести следующую команду, чтобы увидеть местоположение.

npm list
5
Abdul Alim Shakir

Из документов :

Пакеты сбрасываются в папку node_modules под префиксом . При локальной установке это означает, что вы можете require ("packagename") для загрузки основного модуля или require ("имя_пакета/lib/path/to/sub/module") для загрузки других модулей.

Глобальные установки в системах Unix находятся в {prefix}/lib/node_modules . Глобальные установки в Windows идут в {prefix}/node_modules (то есть, нет Lib).

Пакеты Scoped устанавливаются таким же образом, за исключением того, что они сгруппированы вместе в подпапке соответствующей папки node_modules с имя префикса области видимости с помощью символа @, например, npm install @ myorg/package поместит пакет в {Префикс}/node_modules/@ MyOrg/пакет. Смотрите область для более подробной информации.

Если вам требуется () пакет, установите его локально.

Вы можете получить свой {prefix} с npm config get prefix. (Полезно, когда вы установили узел с помощью nvm).

Читайте о локально .
Читайте о глобально .

3
Randall Flagg

Из документов :

В npm 1.0 есть два способа установить вещи:

  • глобально - это отбрасывает модули в {prefix}/lib/node_modules и помещает исполняемые файлы в {prefix}/bin, где {prefix} обычно что-то вроде /usr/local. Он также устанавливает справочные страницы в {prefix}/share/man, если они предоставлены.

  • локально - это устанавливает ваш пакет в текущем рабочем каталоге. Модули узла входят в ./node_modules, исполняемые файлы входят в ./node_modules/.bin/, а man-страницы вообще не установлены.

Вы можете получить свой {prefix} с npm config get prefix. (Полезно, когда вы установили узел с помощью nvm).

3
edelans

В Ubuntu 14.04 они установлены на 

/usr/lib/node_modules

2
Ashutosh Singh

Чтобы получить компактный список без зависимостей, просто используйте

npm list -g --depth 0
2
Adam Bubela

Как говорят другие ответы, лучший способ сделать 

npm list -g

Однако, если у вас установлено большое количество пакетов npm, вывод этой команды может быть очень длинным и вызывать большие трудности при прокрутке вверх (иногда даже невозможно прокрутить так далеко назад).

В этом случае направьте out в программу more, как это

npm list -g | more
2
Raphi

Windows 10: Когда я запустил npm prefix -g, я заметил, что место установки находится внутри пути git Shell, который я использовал для установки. Даже если это местоположение было добавлено в путь, команда из глобально установленного пакета не будет распознана. Исправлено:

  1. работает npm config edit 
  2. изменив префикс на «C:\Users\имя пользователя\AppData\Roaming\npm» 
  3. добавив этот путь к системной переменной пути
  4. переустановка пакета с -g.
1
Marc Sloth Eastman

Кстати, npm будет искать node_modules в родительских папках (вплоть до самого root), если не может найти их в локальной папке.

1
Vitaliy Markitanov

Если вы пытаетесь получить доступ к своему глобальному каталогу из кода, вы можете вернуться из process.execPath . Например, чтобы найти wsproxy, который находится в {NODE_GLOBAL_DIR}/bin/wsproxy, вы можете просто:

path.join(path.dirname(process.execPath), 'wsproxy')
1
A T

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

Примечание. Если вы находитесь в какой-либо папке, введите cd .., пока не окажетесь в каталоге C:. Затем введите cd %USERPROFILE%\AppData\Roaming\npm\node_modules. И, по волшебству, %USERPROFILE% изменится на Users\YourUserProfile\. Я просто хотел уточнить идеи, на которые ссылается Decko в первом ответе. npm list -g перечислит все биты, которые вы установили глобально. Если вам нужно найти связанный с проектом npm package, затем cd 'your angular project xyz', а затем выполните npm list. Он покажет список модулей в npm package. Это также даст вам список пропущенных dependencies, и вам может потребоваться эффективный запуск этого проекта.

0
surendrapanday

Развивая другие ответы - 

npm list -g 

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

Если вы хотите вывести этот список в файл, который вы можете легко найти в текстовом редакторе:

npm list -g > ~/Desktop/npmfiles.txt

0
TWLATL