Як перелічити встановлені користувачем пакети npm?


628

Як перерахувати встановлений користувачем пакет ТІЛЬКИ в npm? Коли я npm -g listце роблю, він видає кожен пакет та їх залежність, а це не те, що я хочу.

Відповіді:


1245

Це теж добре працює: npm list -g --depth=0

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

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

4
Чому --depth=0варіант не згадується під час запуску npm help ls?
Marecky

Якщо ви встановлюєте свої модулі в іншій папці за допомогою --prefix, то вам також слід додати --prefixцю npm listкоманду.
Sany Liew

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 на windows
Ларс

1
це не працює для @scoped модулів
Franz Sittampalam

113

Станом на 13 грудня 2015 року

Ілюстрація списку npm

Хоча я визнав прийняту відповідь на 100% правильною та корисною, хотів трохи розширити її, спираючись на власний досвід, і сподіваюся на користь і інших. (Тут я використовую взаємозамінно пакет термінів і модуль)

Відповідаючи на запитання, так прийнятою відповіддю було б:

npm list -g --depth=0

Ви можете перевірити, чи встановлений конкретний модуль у всьому світі, у * nix системах / коли є греп. Це особливо корисно при перевірці версії модуля, який ви використовуєте (глобально встановлений, просто видаліть прапор -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, будь ласка, перегляньте це посилання, оскільки існує спеціальний скрипт, який рекомендується застосовувати для глобального оновлення всіх пакетів).

Вищезазначені команди повинні працювати у версіях 1.3.x, 1.4.x, 2.x та 3.x NPM


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

1
@Talespin_Kit, ймовірно, укрінтогіф
forresthopkinsa

@Talespin_Kit ShareX є FANTASTIC для створення та обміну зображеннями екранів 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-gui


як ви завантажуєте глобально встановлені пакети?
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 має концепцію локальних модулів та глобальних модулів

Локальні модулі s розташовані в поточному каталозі проекту.

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

  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 ... vars, встановленими у вашому оточенні. У мене є власна установка, використовуючи virtualenv та активуючий гачок, щоб повністю переписати $ PATH з нуля, залежно від того, що проект використовує.
obimod

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

6

Щоб побачити список усіх встановлених пакетів.

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

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


Це чудово! Як я можу просто показати залежність від розробників?
Майкл Брюс

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 Менеджер робочого столу NPM

Всього одним натисканням кнопки ви можете встановити / видалити пакунки у статусі devчи globalстатусі.


2

Використовуйте npm listта фільтруйте за допомогою використанняgrep

Приклад:

npm list -g | grep name-of-package


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.