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

暴露為 require('fs/promises')

v11.14.0, v10.17.0

此 API 不再是實驗的。

v10.1.0

該 API 僅可通過 require('fs').promises 訪問。

v10.0.0

新增於: v10.0.0

2: 替換node_modules文件夾中electron-builder文件夾下 require("fs/promises")為require("fs").promises;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM