在安装 ElectronJS 应用程序期间安装节点模块

Posted

技术标签:

【中文标题】在安装 ElectronJS 应用程序期间安装节点模块【英文标题】:Install Node Modules during installation of an ElectronJS app 【发布时间】:2018-07-08 03:29:34 【问题描述】:

所以,我正在为开发人员构建一个 ElectronJS 应用程序。这将检查计算机上是否安装了 NodeJS。如果没有,它将下载并安装 NodeJS 最新版本,最后继续安装应用程序。

另外,在安装 electron 应用的过程中,我想在全球范围内检查、下载和安装一些 node_modules。

这是为了确保用户拥有所有可用于初始安装的工具,无需单独安装。

我如何做到这一点?

请确保此过程是跨平台的(Windows、Linux 和 MAC)

【问题讨论】:

好吧,我确实尝试过这样做,但我整整两天都无法做到这一点。只是为了让您知道这是我 2 年开发人员职业生涯中的第一个堆栈溢出问题。如果您能简单地为这个问题写一个很好的答案,我将不胜感激。 【参考方案1】:

有多种方法可以实现您想要的。

首先,您可以从 Node 生成一个 child process,它只运行 npm 命令安装所需的包。

另一种方法是以编程方式使用 npm。一个示例如下所示:

var npm = require('npm');

npm.load( 'global': true , function (err) 
    if (err) console.log(err);

    npm.commands.install(['hello-world'], function (err, data) 
        if (err) return console.error(err)
    );
);

这不是真的推荐,因为没有对编程 API 的真正支持。

最后但并非最不重要的一点是,有些包也可以为您以编程方式处理 npm,例如 npm-programmatic,它也只是在后台生成一个子进程,但为用户/开发人员提供了更简单的界面。

【讨论】:

以上是关于在安装 ElectronJS 应用程序期间安装节点模块的主要内容,如果未能解决你的问题,请参考以下文章

Win10安装electronjs和打包神器electron-packager

如何在 React Native 应用程序初始化期间防止与节点相关的错误

在 ubuntu 上安装 npm 期间,使用 c++ 17 编译本机节点插件失败

节点 10 - npm 安装期间的“node-gyp 重建”错误

软件开发使用Electron开发简单的记事本

React + electronjs 实现桌面软件开发引入 electronjs 及 node api