Mac unsupported architecture

(瓜是长大在营养肥料里的最甜,天才是长在恶性土壤中的最好。——培根)

在这里插入图片描述

unsupported architecture

在mac的m系列芯片中容易出现此类问题,因为m系列是arm64的芯片架构,而有些nodejs版本或npm包的芯片架构是x86的,所以导致此类问题频发
但随着nodejs新版本对m系列芯片的支持,npm生态的工具包也逐渐都兼容了arm64架构,但部分比较旧的没有兼容,依然会出现此问题,唯一的解决方案是使用兼容arm64架构的包或使用较新的nodejs版本

问题场景

从windows电脑换成mac后,启动nodejs服务出现此类问题,但nodejs使用的是14版本,已经支持了mac的m系列芯片,于是开始排查npm包的问题

  • 首先执行没有任何依赖的js文件,发现可以正常启动,那么就可以确定一定是npm包的问题
  • 在传统的http服务下,先从各个控制层(controller)排查,每次只启用一个controller,缩小范围
  • 在定位到有问题的控制层后,开始排查业务层(service),每次只启用一个service,缩小范围
  • 在定位到有问题的业务层后,开始排查该业务层的包依赖,每次只启用一个包,缩小范围
  • 最后定位到有问题的npm包,到npm或github中查找该包的解决方案(升级版本或其他),如果无法解决该包的问题,则使用其他支持arm64架构的包进行解决即可
ffprobe-static

比如这个包的3.0.0版本就不支持arm64芯片,升级为3.1.0后解决

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值