【问题标题】:Electron js: use npm internally/programmaticallyElectron js:在内部/以编程方式使用 npm
【发布时间】:2018-02-10 06:14:09
【问题描述】:

我用 Electron js 编写了一个应用程序,它封装了 Ionic 应用程序以便实时编辑它们。 所以我使用cd {ionic app path} && ionic serve/npm install/npm update 的子进程来服务和更新我的电子容器中的实时 Ionic 应用程序包。 我这边的这种技术没有问题。但是当我打包我的应用程序并使用安装程序在干净的机器上对其进行测试时,由于未安装 nodejs,因此无法执行 npm。

首先,我想在我的主应用程序安装程序中包含一个 nodejs 安装程序,但在我看来这不是一个好方法。

在挖掘 stackoverflow 之后,我发现了这个线程:Install programmatically a NPM package providing its version 这解释了如何使用require("npm"); 在我的代码中直接使用 npm,这很有效,但我无法告诉npm.install() 我想在哪个文件夹中运行此命令,子进程可能会发生什么。

我已尝试阅读该库,但这不可能:https://github.com/npm/npm/blob/latest/lib/install.js

你知道我能做些什么来解决这个问题吗?

【问题讨论】:

    标签: node.js npm electron ionic3


    【解决方案1】:

    所以我在深入研究此代码https://github.com/npm/npm/blob/latest/lib/install.js 后找到了答案 像这样简单地使用 npm :

    npm.load({}, function (err) {
      npm.commands.install(HERE_A_PATH, [], function(er, data){
        //callback here
      });
      npm.on("log", function (msg) {
        console.log(msg + '');
      });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-25
      • 1970-01-01
      • 2021-07-22
      • 2019-01-13
      • 1970-01-01
      • 2018-12-19
      • 2022-10-06
      • 2012-05-31
      相关资源
      最近更新 更多