vue.js 无法找到模块“fs/promises”

fiei3ece  于 2022-11-17  发布在  Vue.js
关注(0)|答案(9)|浏览(935)

你好,
我在Vue JS中创建了一个程序,它与我在main.js文件中创建的API连接,以执行系统命令。
我遇到的问题是,当编译生产与电子我得到以下错误:

我使用命令npm运行电子:建筑物
当我使用npm运行electron:serve工作没有问题
有人知道为什么会出现这个错误以及如何修复吗?谢谢

vyu0f0g1

vyu0f0g11#

几天前我也遇到过这个问题。我意识到,为了解决另一个问题,我删除了node_modules文件夹和package-lock.json文件,然后运行了npm install命令。这使得构建失败,并显示“fs/promises”。有两种解决方案可以解决这个问题:
1.下载最新的稳定节点版本。此版本应包含“fs/promises”模块并将修复此问题。
1.删除node_modules文件夹并恢复旧的package-lock.json文件,以确保软件包版本保持不变。然后运行npm install命令,问题应该得到解决。

nwsw7zdq

nwsw7zdq2#

降级电子“电子构建器”:“^22.10.5”,或将节点j升级到14+ v

8nuwlpux

8nuwlpux3#

我可以降级到"electron-builder": "~22.10.5"

mrfwxfqh

mrfwxfqh4#

在这种情况下,我解决了这个问题的方式:

const fs = require('fs').promises;

而不是:

const fs = require('fs/promises');
guz6ccqo

guz6ccqo5#

在我的例子中,我使用nvm来管理多个节点版本。
在npm包安装期间,以及整个开发过程中,我使用了Node v14,但由于某种原因,当我后来尝试绑定程序时,我的终端指向Node v12
使用nvm use 14将其切换回Node v14解决了我的问题。
因此,请确保使用正确的节点版本。

wi3ka0sx

wi3ka0sx6#

升级到electron-updater@5.0.0。它有补丁程序更改,将fs/promises替换为fs-extra,以支持旧版electronic。

41zrol4v

41zrol4v7#

当我不使用electron时,得到了同样的错误“找不到模块'fs/promises'”。
所以问题不仅与电子有关
通过将nodejs从v13.9.0升级到v14.19.3解决了这个问题

hyrbngr7

hyrbngr78#

如果这种情况发生在你身上(我也没有使用Electron),你必须像我一样留在节点12上(因为你维护的代码是古老的),祈祷你能找到你使用的一个有效的npm-shrinkwrap.json文件,然后通过package.json,强制每个版本都是shrinkwrap文件中的内容,rm -rf node_modules,然后npm安装。

ar5n3qh5

ar5n3qh59#

在将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
1.从https://nodejs.org安装nodejs
现在,它可与以下产品配合使用:

  • 电子制造商:23.0.2(命令electron-builder --version
  • Npm:8.7.0(命令npm --version
  • 节点js:v16.15.0(命令node --version

相关问题