mac上electron项目使用node-7z遇到unknown error

mac上electron项目使用node-7z遇到unknown error

遇到问题

最近在mac上,electron项目dev环境使用解压工具node-7z遇到log报错:unknown error,没有详细报错信息
报错信息

由于第一次使用,再加上网络上相关文档也很少,一直没找到解决方案。在折磨几天后,今天在浏览器打断点,连续跟踪代码,最终发现:
调用了一个node_modules/.bin/7z
这是一个快捷方式,右键显示原身,cao 这是一个.exe程序,我电脑是mac,不报错才怪。

分析

初步简单分析了一下, electron项目本身 build 有使用7zip,所以项目npm install 会下载2个包,7zip、7zip-bin。
7zip这个包会在上文中说的 node_modules/.bin/7z 建立这个快捷方式;
而我们自己安装的刚好也是node-7z,node-7z机制是调用的系统安装的7zip命令:7z,所以这里可能是代码调用的“就近原则”,错误调用到这个同名exe文件的快捷方式 7z

解决

删除 node_modules/.bin/7z 这个快捷方式,报错就消失了。此时调用的应该就是 本机系统安装的7zip工具了,dev环境可以正常解压了

打包后又遇到一个问题:
mac上electron使用node-7z打包后 Error: spawn 7z ENOENT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值