Распечатайте список всех установленных модулей 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