在安装 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 编译本机节点插件失败