Next.js执行npm run dev报错failed to load SWC binary如何解决?
解决Next.js
failed to load SWC binary报错的可行方案 该错误为Next.js 12及以上版本默认启用的SWC Rust编译器二进制文件加载失败导致,可通过以下方案排查解决:
- 切换回Babel编译
在项目根目录创建.babelrc文件,写入以下配置:
保存后重新执行{ "presets": ["next/babel"] }npm run dev即可,Next.js检测到Babel配置文件会自动禁用SWC编译器。 - 清理依赖缓存重新安装
先删除项目根目录下的node_modules文件夹,以及package-lock.json、yarn.lock或pnpm-lock.yaml锁文件,再重新执行npm install安装依赖,完成后重试启动命令。 - 适配系统架构
如果你使用的是ARM架构的设备(如苹果M1/M2系列芯片设备),需确认当前安装的Node.js版本匹配设备架构,避免出现x86版本Node在ARM架构下运行无法加载对应SWC二进制包的问题。可卸载当前Node.js后重新安装对应设备架构的版本,再重新安装项目依赖。 - 配置SWC二进制包镜像源
国内网络环境下可能出现SWC二进制包拉取失败的问题,可在项目根目录创建.npmrc文件,加入国内可用的SWC二进制包镜像源配置,保存后重新执行npm install安装依赖即可。 - 调整Next.js版本
部分Next.js特定版本存在SWC适配缺陷,可尝试将项目依赖的Next.js升级到最新稳定版,或降级到已知适配正常的版本,重新安装依赖后测试启动。
内容的提问来源于stack exchange,提问作者Ekama Emmanuel Uloho
相关产品推荐
相关产品推荐

