找不到模块 'fs/promises' Electron JS

Cannot find module 'fs/promises' Electron JS

早上好,

我在 Vue JS 中创建了一个程序,它与我在 main.js 文件中创建的 API 连接以执行系统命令。

我遇到的问题是,在使用 electron 进行生产编译时出现以下错误:

我使用命令 npm 运行 electron: build

当我使用 npm 运行 electron:serve 工作没有问题

任何人都知道为什么会出现错误以及如何解决它? 谢谢

我前几天也遇到过这个问题。我意识到试图解决另一个问题,我删除了 node_modules 文件夹和 package-lock.json 文件,然后 运行 npm install 命令。这使得构建失败 'fs/promises'。此问题有 2 个解决方案:

  1. 下载最新的稳定节点版本。这应该有 'fs/promises' 模块并将解决问题。
  2. 删除 node_modules 文件夹并恢复旧的 package-lock.json 文件以确保软件包版本保持不变。然后 运行 npm install 命令,问题应该得到解决。

降级电子 “电子建设者”:“^ 22.10.5”, 或者将 nodejs 升级到 14+ v

降级到 "electron-builder": "~22.10.5" 对我有用

在我的例子中,我使用 nvm 来管理多个节点版本。

在 npm 包安装和整个开发过程中,我使用了 Node v14,但出于某种原因,当我之后尝试捆绑我的程序时,我的终端指向 Node v12

使用 nvm use 14 将其切换回 Node v14 解决了我的问题。

因此请确保您使用的是正确的节点版本。

在那种情况下,我以这种方式解决问题: const fs = require('fs').promises;

而不是: const fs = require('fs/promises');

我遇到了同样的问题,将 electron-builderv. 21.4.0 升级到 23.0.2 后,使用以下命令更新: sudo npm install -g electron-builder@23.0.2

我解决了更新 npm,然后 node.js。

  1. 更新npm:

    sudo npm install -g npm@latest

  2. https://nodejs.org

    安装 nodejs

现在它适用于:

  • Electron-builder: 23.0.2(命令electron-builder --version
  • Npm:8.7.0(命令npm --version
  • Nodejs:v16.15.0(命令node --version

升级到electron-updater@5.0.0。它有补丁更改将 fs/promises 替换为 fs-extra 以支持电子的旧版本。