Strapi项目中@swc/core加载原生绑定失败问题求助
Strapi项目中@swc/core原生绑定加载失败问题排查与解决
报错信息
Error: Failed to load native binding at Object.<anonymous> (D:\Strapi\isha-blogs\node_modules\@swc\core\binding.js:333:11) ... Error: Cannot find module './swc.win32-x64-msvc.node' Require stack: - D:\Strapi\isha-blogs\node_modules\@swc\core\binding.js - D:\Strapi\isha-blogs\node_modules\@swc\core\index.js - D:\Strapi\isha-blogs\node_modules\@vitejs\plugin-react-swc\index.cjs ...
已尝试的解决步骤
- 重新安装依赖:删除
node_modules和package-lock.json后执行npm install - 检查Node.js版本:确认Node.js版本与
@swc/core兼容 - 手动安装缺失模块:执行
npm install @swc/core确保模块正确安装 - 重建Node模块:执行
npm rebuild - 清理npm缓存:执行
npm cache clean --force - 更新
@vitejs/plugin-react-swc:执行npm update @vitejs/plugin-react-swc确保插件为最新版本
环境信息
- 操作系统:Windows 10
- Node.js版本:v18.20.4
- npm版本:10.7.0
- Strapi版本:4.25.9
@swc/core版本:1.7.22@vitejs/plugin-react-swc版本:3.5.0
补充解决方案
1. 安装对应平台的@swc/core原生包
针对报错中缺失的swc.win32-x64-msvc.node,手动安装适配Windows x64平台的特定版本:
npm install @swc/core-win32-x64-msvc@1.7.22
注意版本号需与项目中当前@swc/core版本保持一致(此处为1.7.22)。
2. 切换包管理器重新安装依赖
npm的依赖解析或缓存可能存在异常,尝试用pnpm或yarn替换:
- 删除
node_modules、package-lock.json - 安装pnpm:
npm install -g pnpm,执行pnpm install - 或安装yarn:
npm install -g yarn,执行yarn install
3. 安装Visual C++运行库
Windows下@swc/core的原生绑定依赖Microsoft Visual C++ Redistributable运行库,确保已安装2015-2022版本的x64适配包,若缺失直接安装对应组件。
4. 替换swc插件为babel
若以上方法无效,临时改用传统babel插件规避swc问题:
- 卸载
@vitejs/plugin-react-swc:npm uninstall @vitejs/plugin-react-swc - 安装
@vitejs/plugin-react:npm install @vitejs/plugin-react - 修改项目vite配置文件(如
vite.config.js或config/vite.js):import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; export default defineConfig({ plugins: [react()], });
5. 清理全局npm缓存
全局缓存损坏也可能导致依赖安装异常,执行以下命令:
npm cache clean --force rmdir /s /q "C:\Users\<你的用户名>\AppData\Roaming\npm-cache" npm install
替换<你的用户名>为实际Windows系统用户名。
内容的提问来源于stack exchange,提问作者Isha Bhutto
相关产品推荐
相关产品推荐

