你如何运行一个逗号说npm安装或耙作为节点js应用程序的一部分?

我有一个节点应用程序,我想运行一个命令或任务,如npm安装或耙或git克隆。 我尝试使用subprocessexec,但没有运行npm安装任务。 有其他的方法吗?

如果你想执行一个shell (或者如果你在Windows上是cmd )命令,你可以通过使用child_process.exec()

https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback

这里是一个例子:

 var exec = require('child_process').exec; var child; child = exec("pwd", function (error, stdout, stderr) { console.log('stdout: ' + stdout); console.log('stderr: ' + stderr); if (error !== null) { console.log('exec error: ' + error); } }); 

只要把npm install或者git clone或者你想要执行的任何东西,而不是pwd当调用exec函数。

您可以执行以下操作来获取节点脚本中的npm install工作,

执行npm install npm --save (这需要一些时间)

现在,由于npm位于node_modules文件夹内,因此可以将其导入到脚本中。 下面的示例脚本安装了“foobar”包

 var npm = require("npm"); npm.load(function (err) { npm.commands.install(["foobar"], function (err, data) { }); npm.on("log", function (message) { // progress of the npm install console.log(message); }); }); 

这只是一个select。 按照Lucian的build议使用child_process