Node.js 相当于 npm list 的运行时?
Node.js runtime equvalent of npm list?
我是 运行 AWS Elastic Beanstalk 中的 Node.js Express Web 服务器。我希望在一个特殊的管理页面上列出活动节点模块版本。
是否有我可以调用的函数来列出我通常从 npm list
获得的详细信息?
例如:
├── async@0.9.0
├─┬ aws-sdk@2.1.17
│ ├─┬ xml2js@0.2.6
│ │ └── sax@0.4.2
│ └── xmlbuilder@0.4.2
├── crypto@0.0.3
是的,您可以以编程方式使用 npm
:
var npm = require('npm');
npm.load({}, function(err) {
npm.commands.list(function(modules) {
console.log(modules);
});
});
记得先本地安装:npm install npm
.
您可以将 child process to call any command line instruction from inside node. You can also add options to the instruction. For example to receive the npm list 数据生成为 json:
var spawn = require('child_process').spawn,
list = spawn('npm', ['list', '--json']);
list.stdout.on('data', function (data) {
console.log('json npm list: ' + data);
});
list.stderr.on('data', function (data) {
console.log('there was an error retrieving npm list: ' + data);
});
list.on('close', function (code) {
console.log('child process exited with code ' + code);
});
我是 运行 AWS Elastic Beanstalk 中的 Node.js Express Web 服务器。我希望在一个特殊的管理页面上列出活动节点模块版本。
是否有我可以调用的函数来列出我通常从 npm list
获得的详细信息?
例如:
├── async@0.9.0
├─┬ aws-sdk@2.1.17
│ ├─┬ xml2js@0.2.6
│ │ └── sax@0.4.2
│ └── xmlbuilder@0.4.2
├── crypto@0.0.3
是的,您可以以编程方式使用 npm
:
var npm = require('npm');
npm.load({}, function(err) {
npm.commands.list(function(modules) {
console.log(modules);
});
});
记得先本地安装:npm install npm
.
您可以将 child process to call any command line instruction from inside node. You can also add options to the instruction. For example to receive the npm list 数据生成为 json:
var spawn = require('child_process').spawn,
list = spawn('npm', ['list', '--json']);
list.stdout.on('data', function (data) {
console.log('json npm list: ' + data);
});
list.stderr.on('data', function (data) {
console.log('there was an error retrieving npm list: ' + data);
});
list.on('close', function (code) {
console.log('child process exited with code ' + code);
});