Как вывести список установленных пользователем пакетов npm?


630

Как мне перечислить ТОЛЬКО установленный пользователем пакет npm? Когда я это делаю, npm -g listон выводит каждый пакет и их зависимости, а это не то, что я хочу.

Ответы:


1247

Это тоже работает довольно хорошо: npm list -g --depth=0

  • npm : инструмент командной строки диспетчера пакетов Node
  • list -g : отображать дерево каждого пакета, найденного в папках пользователя (без опции -g отображаются только пакеты текущего каталога)
  • глубина 0 / - глубина = 0 : избегать включения зависимостей каждого пакета в древовидное представление

Вернуть пустой результат. Моя версия npm 3.6.0.
Bagusflyer

4
Почему --depth=0опция не упоминается при запуске npm help ls?
Мареки

Если вы устанавливаете свои модули в другую папку, используя --prefix, то вам нужно добавить --prefixтоже в эту npm listкоманду.
Сани Лью

1
Также было бы неплохо добавить, | grep -v "duped"чтобы удалить дублирующиеся зависимости в списке
Спенсер Поллок

1
отлично работал на окнах.
Солнечный Пракаш

132

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

ls `npm root -g`


13
ls -lh `npm root -g`отображает их в хорошем списке.
LanceLafontaine

3
Это решение намного быстрее, чем одно из лучших.
DarkNeuron

3
Это решение хорошо, но npm list -g --depth=0 которое печатает версию, которая хороша. В любом случае, я не знал об этой команде, поэтому +1 за это.
пиксель 67

3
npm root -g | gciв Powershell на окнах
Ларс

1
это не работает для модулей @scoped
Франц Ситтампалам

113

По состоянию на 13 декабря 2015 года

Иллюстрация списка npm

В то время как я нашел принятый ответ на 100% правильным и полезным, я хотел немного расширить его, основываясь на своем собственном опыте, и, надеюсь, на пользу другим. (Здесь я использую термины пакет и модуль взаимозаменяемо)

В ответ на вопрос, да, принятым ответом будет:

npm list -g --depth=0

Вы можете проверить наличие определенного модуля, установленного глобально, в * nix systems /, если доступен grep. Это особенно полезно при проверке того, какую версию модуля вы используете (глобально установлен, просто снимите флаг -g, если проверяете локальный модуль):

npm list -g --depth=0 | grep <module_name>

Если вы хотите просмотреть все доступные (удаленные) версии для определенного модуля, выполните:

npm view <module_name> versions

Обратите внимание, версии множественного числа. Это даст вам полный список версий на выбор.

Для последней удаленной версии:

npm view <module_name> version  

Запись, версия единственная.

Чтобы узнать, какие пакеты необходимо обновить, вы можете использовать

npm outdated -g --depth=0

Для обновления глобальных пакетов вы можете использовать

npm update -g <package>

Чтобы обновить все глобальные пакеты, вы можете использовать:

npm update -g

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

Вышеприведенные команды должны работать в версиях NPM 1.3.x, 1.4.x, 2.x и 3.x


Для того, чтобы обновить определенный пакет глобальный: npm update -g <package>. Я считаю, updateчто installздесь предпочтительнее, потому что npm будет умным и сделает установку только в том случае, если указанный пакет устарел.
Робин А. Мид

1
@Talespin_Kit, вероятно, screentogif
forresthopkinsa

@Talespin_Kit ShareX - ФАНТАСТИЧЕСКИЙ для создания и совместного использования скриншотов gif (и любых других скриншотов).
Аарон Белл

38

Я предпочитаю инструменты с дружественным интерфейсом!

Я использовал, npm-guiкоторый дает вам список локальных и глобальных пакетов

Пакет находится по адресу https://www.npmjs.com/package/npm-gui и https://github.com/q-nick/npm-gui.

//Once
npm install -g npm-gui

cd c:\your-prject-folder
npm-gui localhost:9000

В вашем браузере http:\\localhost:9000

NPM-гуй


как вы загружаете для глобально установленных пакетов?
Ciasto piekarz

20

Для зависимостей проекта используйте:

npm list --depth=0

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

npm list -g --depth=0

17
npm ls

npm list это просто псевдоним для npm ls

Для расширенной информации используйте

npm la    
npm ll

Вы всегда можете установить --depth=0в конце, чтобы получить первый уровень глубоко.

npm ls --depth=0

Вы можете проверить пакеты разработки и производства.

npm ls --only=dev
npm ls --only=prod

Показать информацию в jsonформате

npm ls --json=true

По умолчанию false

npm ls --json=false

Вы можете настаивать на длинном формате, чтобы показать расширенную информацию.

npm ls --long=true

Вы можете показать анализируемый вывод вместо древовидного представления.

npm ls --parseable=true

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

npm ls --global=true
npm ls -g // shorthand

Полную документацию вы можете найти здесь .


8

У Node есть концепция локальных модулей и глобальных модулей.

Локальные модули расположены в каталоге текущего проекта.

Глобальные модули обычно расположены в домашнем каталоге пользователя, хотя мы можем изменить путь, в котором находятся глобальные модули.

  1. Перечисляет локальные модули в текущем каталоге: npm list
  2. Список глобальных модулей: npm list --globalИЛИ npm list --g // В нем будут перечислены все модули верхнего уровня с его зависимостями.
  3. Список только глобальных модулей верхнего уровня (Установленные модули): npm list -g --depth=0

7

Одним из способов может быть поиск корневого каталога модулей с помощью:

npm root
/Users/me/repos/my_project/node_modules

А затем перечислите этот каталог ...

ls /Users/me/repos/my_project/node_modules
grunt                   grunt-contrib-jshint

Установленные пользователем пакеты в этом случае grunt и grunt-contrib-jshint


1
Почему бы не использовать официальную встроенную команду npm? npm list -g --depth=0
Куккс,

Этот способ может помочь разработчику понять, что происходит под капотом
obimod

1
Это не на 100% правильно. Когда я запускаю команду, npm root она говорит мне: Users/me/node_modules что не правильно. Мой node_modules живет где-то еще. Я думаю, это зависит от того, как вы устанавливаете узел. Я использую brewдля установки моего программного обеспечения. Я предполагаю, что это, если вы устанавливаете узел с их сайта, используя установщик пакета?
пиксель 67

Я думаю, что это зависит от ваших переменных среды. Посмотрите на переменные $ NPM ..., установленные в вашей среде. У меня есть пользовательские настройки, использующие virtualenv и ловушку активации, чтобы полностью переписать $ PATH с нуля в зависимости от того, что использует проект.
Обимод

2
Для меня мой npm сломался, поэтому я не мог использовать команды. Я хотел сделать полную переустановку, поэтому мне нужно было знать, какие пакеты я установил глобально, чтобы восстановить.
bryjohns

6

Чтобы увидеть список всех пакетов, которые установлены.

$ npm ls --parseable | awk '{gsub(/\/.*\//,"",$1); print}'| sort -u

показать разбираемый список пакетов npm https://docs.npmjs.com/cli/ls#parseable


Это замечательно! Как я могу просто показать зависимости dev?
Майкл Брюс

5

Я использую, npm -g outdated --depth=0чтобы перечислить устаревшие версии
в глобальном пространстве.


3

Node_modules содержит установленные пользователем пакеты, поэтому измените каталог на node_modules и перечислите элементы. Основные модули определены в источнике узла в lib/папке.

Example:

     example@example:~/:~/node_modules$ ls
     express  maxmind-native  node-whois  socket.io  ua-parser-js
     geoip    mongoskin       pdfkit      tail       zeromq
     maxmind  nodemailer      request     ua-parser  zmq

3

Вы можете попробовать NPM Desktop manager NPM Desktop manager

Одним щелчком мыши вы можете установить / удалить пакеты devили globalстатус.




Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.