使用 NPM 时节点版本不同

Node version different when using NPM

我试图找到一个重复的问题,有类似的但我仍然不明白发生了什么..

我刚刚在 Ubuntu 20.04 上安装了 node 和 npm

sudo apt install nodejs npm

并遵循 Electron 快速入门 tutorial,并将此行添加到我的 main.js:

的开头
console.log("node version: " + process.versions["node"]);

当我 运行 我的应用程序使用 npm start 时,我看到(在控制台和应用程序上)节点版本 16.13.0,但是当我 运行 应用程序使用node main,我看到的版本是10.19.0,也是node -v 显示的。

我可能可以通过更新节点来“修复”这个问题,但我想了解这里发生了什么。NPM 使用的是不同的节点版本还是什么?

谢谢

编辑 我用一个空节点应用程序尝试了这个,只是制作 npm init 并在 package.json 中设置 start: "node index.js",这次 node index.jsnpm start 显示相同的版本(10.19 .0) 所以我猜 Electron 以某种方式读取了错误的节点版本?

@DJHemath 是对的。 Electron 将 Node 和 Chromium 作为内部库。 IE: Node是Electron的一个模块

因此,您在 Electron 应用程序中看到的版本是与 Electron 捆绑在一起的 Node 版本。

当Electron更新时,Node和Chromium的版本也经常更新。可以在 Electron 主页“发布”卡片(最新版、测试版、阿尔法版和夜间版)上看到对此的概述。

此外,出于历史目的,可以在Stable Releases页面上看到这两个依赖项的版本更新。

因此,总而言之,更改系统安装的 Node 版本 不会 影响 Electron 应用程序中使用的 Node 版本。