Next.js运行报错:无法加载@next/swc-win32-x64-msvc二进制文件
解决Next.js加载@next/swc-win32-x64-msvc失败的问题
下面是几个针对性的修复步骤,按顺序尝试:
强制重装SWC二进制包
直接清理缓存并强制重装对应架构的SWC包,执行命令:npm cache clean --force npm install @next/swc-win32-x64-msvc --force用yarn的话换成:
yarn cache clean yarn add @next/swc-win32-x64-msvc --force核对Node.js与Next.js版本兼容性
不同版本的Next.js对Node.js版本有要求,比如Next.js 13+需要Node.js 16.14以上或18.x系列。用node -v查看当前Node版本,不匹配的话用nvm升级/降级到兼容版本,避免版本不兼容导致的SWC加载问题。手动替换SWC二进制文件
- 找到和你当前Next.js版本匹配的@next/swc-win32-x64-msvc包,下载对应的win32-x64架构的
.node文件。 - 定位到项目的
node_modules/@next/swc-win32-x64-msvc目录,替换掉里面的.node文件,重启项目试试。
- 找到和你当前Next.js版本匹配的@next/swc-win32-x64-msvc包,下载对应的win32-x64架构的
确认系统与Node.js架构一致
右键“此电脑”→“属性”确认系统是64位Windows,再用node -p process.arch检查Node.js架构,输出必须是x64。如果之前装过32位Node.js,彻底卸载后重新安装x64版本,避免遗留缓存干扰。用环境变量强制指定SWC架构
在启动项目前设置环境变量,强制Next.js使用正确的SWC架构:set NEXT_TARGET=win32-x64 npm run dev也可以直接把这个配置写到package.json的scripts里:
"scripts": { "dev": "set NEXT_TARGET=win32-x64 && next dev" }降级Next.js到稳定版本
如果以上方法都无效,大概率是新版本Next.js的SWC存在兼容性bug,试试降级到一个已知稳定的版本,比如:npm install next@13.4.0 --save
内容的提问来源于stack exchange,提问作者Enoch Philip Dibal
相关产品推荐
相关产品推荐

