Распечатайте список всех установленных модулей node.js

В node.js script, над которым я работаю, я хочу напечатать все node.js-модули (установленные с помощью npm) в командной строке. Как я могу это сделать?

console.log(__filename);

//now I want to print all installed modules to the command line. How can I do this?

Ответ 1

Используйте npm ls (есть даже выход json)

Из script:

test.js:

function npmls(cb) {
  require('child_process').exec('npm ls --json', function(err, stdout, stderr) {
    if (err) return cb(err)
    cb(null, JSON.parse(stdout));
  });
}
npmls(console.log);

run:

> node test.js
null { name: 'x11', version: '0.0.11' }

Ответ 2

Если вас интересуют только пакеты, установленные глобально без полного TREE, выполните следующие действия:

npm -g ls --depth=0

или локально (опустить -g):

npm ls --depth=0

Ответ 3

список всех глобально установленных сторонних модулей, напишите в консоли:

 npm -g ls

Ответ 4

в любом os

npm -g list

и thats it

Ответ 5

Как правило, есть два способа списка установленных пакетов - через интерфейс командной строки (CLI) или в приложении, используя API.

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


CLI

npm list

Используйте флаг -g (глобальный), чтобы отобразить все глобально установленные пакеты. Используйте флаг --depth=0, чтобы отображать только верхние пакеты, а не их зависимости.


API

В вашем случае вы хотите запустить это в своем script, поэтому вам нужно будет использовать API. Из документов:

npm.commands.ls(args, [silent,] callback)

Помимо печати на stdout, данные также будут переданы в обратный вызов.

Ответ 6

Почему бы не взять их с dependencies в package.json?

Конечно, это даст вам только те, которые вы фактически сохранили, но вы все равно должны это делать.

console.log(Object.keys(require('./package.json').dependencies));

Ответ 7

for package in `sudo npm -g ls --depth=0 --parseable`; do
    printf "${package##*/}\n";
done