vue electron 运行时报错Cannot find module 'fs/promises'的解决方法
项目已经上线半年了,全省多地使用,突然出现的问题,最后发现是因为使用的 electron-updater 因为版本号没有锁定,突然之间就报了上面的错误,不管我怎么升级node都没用(哈哈,node本身就没问题),最后我根据提示找到报错位置:node_modules下的electron-updater的AppUpdater.js文件,将require("fs/promises")改为require("fs").promises,发现项目能跑起来,但是因为不想修改node_module文件,所以继续找问题,发现其他模块require("fs/promises")引入时并没有问题,然后我就卸载了electron-updater模块,发现项目跑起来了,然后我就猜测是大版本中最新的版本出问题了,接着我就把package.json中引入的"electron-updater": "4.3.5"锁定版本,运行项目,正常启动。
所以我的报错原因就是引入的electron-updater模块更新了,并且更新后的内容里有报错(也许用的node版本低)
解决方法:锁定正常运行的版本即可,package.json中 "electron-updater": "^4.3.5" 改为 "electron-updater": "4.3.5" ;
总结:项目稳定后锁定版本号,防止出现类似的问题
下面是网上的一些解决方法:
1:这是nodejs版本太低导致的,查看electron-builder的代码可以发现,里面都是require("fs/promises")这样的引用,但是旧版nodejs是
require("fs").promises
的引用方式;
这种错的解决方法:升级nodejs版本
版本 | 变更 |
---|---|
v14.0.0 |
暴露为 |
v11.14.0, v10.17.0 |
此 API 不再是实验的。 |
v10.1.0 |
该 API 仅可通过 |
v10.0.0 |
新增于: v10.0.0 |
2: 替换node_modules文件夹中electron-builder文件夹下 require("fs/promises")为require("fs").promises;
最新文章
- 浅谈我对DDD领域驱动设计的理解
- SQLMAP 中$与#的区别
- oracle-3-子查询和常用函数
- JAVA 数组算法(复制、查找、插入)
- Spring中自动装配(转)
- js按钮点击展开收起
- HW5.36
- sem_timedwait的用法
- 身在魔都的她,该不该继续";坚持";前端开发?
- 多目标跟踪(MOT)论文随笔-SIMPLE ONLINE AND REALTIME TRACKING WITH A DEEP ASSOCIATION METRIC (Deep SORT)
- angular.isArray()
- python特定时间发送消息到微信公众号
- 测试一下robotgo自动化操作,顺便解决了原来的mingw版本中只有gcc,没有g++的问题
- secureCRT恶意终止下次无法启动
- laravel项目安装
- C++实现Vector容器的基本功能
- Appium清空EditText
- RAC基本使用
- 初学php html javascript后小总结
- [Xcode 实际操作]一、博主领进门-(14)在顶部状态栏显示风火轮以及为应用程序添加应用图标