Hbuilderx3.2.16打包报错记录困扰自己工作半个月的问题

大家好我是没钱的君子下流坯,用自己的话解释自己的知识

前言

使用Hbuilderx进行打包的时候,因为公司项目上线的时候考虑了各方面的稳定性选择了3.2.16版本,然后我入职后使用这个版本去打包h5去发布新版本的时候一直报错,半个月没有能解决,刚开始是以为内存溢出(这也是公司前辈给提出解决的办法)后面发现没用,我就继续白度问ai。

[HBuilder] 11:25:30.569  ERROR  Error: EPERM: operation not permitted, open 'D:\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni-optimize\.tmp\components.js'
[HBuilder] 11:25:30.570 Error: EPERM: operation not permitted, open 'D:\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni-optimize\.tmp\components.js'
[HBuilder] 11:25:30.576     at Object.openSync (node:fs:585:3)
[HBuilder] 11:25:30.576     at Object.writeFileSync (node:fs:2170:35)
[HBuilder] 11:25:30.582     at updateComponents (D:\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni-optimize\packages\webpack-optimize-plugin\component.js:57:6)
[HBuilder] 11:25:30.582     at D:\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni-optimize\packages\webpack-optimize-plugin\index.js:15:11
[HBuilder] 11:25:30.589     at new Promise (<anonymous>)
[HBuilder] 11:25:30.589     at D:\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni-optimize\packages\webpack-optimize-plugin\index.js:13:14
[HBuilder] 11:25:30.596     at AsyncSeriesHook.eval [as callAsync] (eval at create (D:\HBuilderX\plugins\uniapp-cli\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:8:17)
[HBuilder] 11:25:30.597     at AsyncSeriesHook.lazyCompileHook (D:\HBuilderX\plugins\uniapp-cli\node_modules\tapable\lib\Hook.js:154:20)
[HBuilder] 11:25:30.604     at Compiler.compile (D:\HBuilderX\plugins\uniapp-cli\node_modules\webpack\lib\Compiler.js:662:28)
[HBuilder] 11:25:30.605     at D:\HBuilderX\plugins\uniapp-cli\node_modules\webpack\lib\Watching.js:77:18
[HBuilder] 11:25:30.611     at AsyncSeriesHook.eval [as callAsync] (eval at create (D:\HBuilderX\plugins\uniapp-cli\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
[HBuilder] 11:25:30.612     at AsyncSeriesHook.lazyCompileHook (D:\HBuilderX\plugins\uniapp-cli\node_modules\tapable\lib\Hook.js:154:20)
[HBuilder] 11:25:30.618     at Watching._go (D:\HBuilderX\plugins\uniapp-cli\node_modules\webpack\lib\Watching.js:41:32)
[HBuilder] 11:25:30.619     at D:\HBuilderX\plugins\uniapp-cli\node_modules\webpack\lib\Watching.js:33:9
[HBuilder] 11:25:30.626     at Compiler.readRecords (D:\HBuilderX\plugins\uniapp-cli\node_modules\webpack\lib\Compiler.js:529:11)
[HBuilder] 11:25:30.626     at new Watching (D:\HBuilderX\plugins\uniapp-cli\node_modules\webpack\lib\Watching.js:30:17)

在这里插入图片描述
就这个问题,我中间在uniapp官网上去问过付费支持,但也没解决。下面是我解决问题所尝试的方法。

1.报错的原因是没有权限打开某个文件下的文件,我解决对应方案,用管理员运行Hbuilderx然后给Hbuilderx的文检查设置所有的权限,未解决。当时chatGpt给的解决方案也是这样。

2.但是后来我发现错误是node中的一个函数打不开文件读取不了,错误发生在fs.writeFileSync函数调用之后,似乎是在尝试写入一个文件时失败了。我想可能是node版本问题,我使用的是v20.11.1,我换到和公司大家使用的都一样的V18.16.1,后也不行。

3.没办法期间打包发版本就交给了大佬,后面我就继续在空闲时间找解决的方法,终于在一个下午我找到了解决方法,我当时想这个文件夹下的文件一直报错没有权限打开,我TMD给他全删了就该不报错了吧,果然删除了D:\HBuilderX\plugins\uniapp-cli\node_modules@dcloudio\vue-cli-plugin-uni-optimize.tmp下的文件以后正常打包不报错了。后来解决了问题以后我和公司大佬探讨加上chatgpt得出结论,这些文件是打包时node自行产生的临时文件,因为这个Hbuilderx的本班很老了,然后我接手的云电脑是另一个人的很久不用了,此Hbuilderx中的node版本和我自己电脑中的node版本不对,文件冲突,删除后让node自己在产生新的文件就可以了。

总结:一个问题困扰半个多月,想过重装系统,重装Hbuilderx,重装node都没有解决。但最终还是解决了,所以遇到困难不要放弃,总有一天能解决。

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值