通过node.js在另一个目录中运行npm安装
我正试图在node.js应用程序的另一个目录中运行通过node.js在另一个目录中运行npm安装,node.js,npm,electron,Node.js,Npm,Electron,我正试图在node.js应用程序的另一个目录中运行npmi。这是因为在该目录中生成了一个子进程。父应用程序位于用户的系统上,因此在推送新更新时,不能期望它们运行npm i。我可以将package.json复制到可以运行子进程的每个目录中,以便在那里手动运行install将安装所需的依赖项。您是否尝试这样做 var cwd = __dirname; var Proc = require ("child_process").exec ( "npm i"
npmi
。这是因为在该目录中生成了一个子进程。父应用程序位于用户的系统上,因此在推送新更新时,不能期望它们运行npm i
。我可以将package.json复制到可以运行子进程的每个目录中,以便在那里手动运行install将安装所需的依赖项。您是否尝试这样做
var cwd = __dirname;
var Proc = require ("child_process").exec (
"npm i",
{
shell: "/bin/sh",
stdio: [ 'pipe', 'pipe', 'pipe'],
cwd
}
);
Proc.stdout.on ("data", function (data) {
process.stdout.write (data.toString ());
});
Proc.stderr.on ('data', function (data) {
process.stderr.write (data.toString ());
});
Proc.on ('close', (code) => {
console.log (`close: ${code}`);
});
以下是最终奏效的方法:
var Proc = child_process.exec ('npm i', {
cwd: '/path/to/folder/to/run/in'
}, function(error, stdout, stderr) {
});
这回答了你的问题吗@MarwanAmireh,用于通过命令行安装。我需要能够通过代码以编程的方式完成它。关闭,这让我走上了正确的轨道。我在下面发布了我的解决方案。