通过node.js在另一个目录中运行npm安装

通过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"

我正试图在node.js应用程序的另一个目录中运行
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,用于通过命令行安装。我需要能够通过代码以编程的方式完成它。关闭,这让我走上了正确的轨道。我在下面发布了我的解决方案。