Vite React JS SWC中Native Binding加载失败问题求助
解决Termux中Vite React SWC模板启动失败的问题
问题原因
SWC核心依赖原生二进制绑定,Termux的Android ARM架构环境下,SWC官方未提供预编译的适配包,导致安装后无法加载native binding,触发启动错误。
解决方案
方案一:替换为Babel版React插件(推荐)
这是最稳妥的解决方式,放弃SWC改用传统的Babel编译:
- 卸载SWC相关依赖:
npm uninstall @vitejs/plugin-react-swc @swc/core - 安装Babel版插件:
npm install @vitejs/plugin-react --save-dev - 修改
vite.config.js,替换插件导入:import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' // 替换原SWC插件导入 export default defineConfig({ plugins: [react()], server: { host: '0.0.0.0', port: 6969 }, build: { sourcemap: true } }) - 重新启动开发服务器:
npm run dev
方案二:尝试手动编译SWC原生绑定(兼容性有限)
如果坚持要用SWC,可尝试在Termux中编译原生绑定,但成功率不高:
- 安装编译依赖:
pkg install clang make python - 清除现有依赖文件:
rm -rf node_modules package-lock.json - 强制重新安装并编译:
npm install --force - 启动服务器测试:
npm run dev
内容的提问来源于stack exchange,提问作者Totoro Angelo
相关产品推荐
相关产品推荐

