React Native无法运行RNTester,执行packager.sh时遇Babel报错
刚看到你运行RNTester执行./scripts/packager.sh时碰到了Babel的插件属性错误,提示.default is not a valid Plugin property,我之前调试RN项目时也遇到过类似问题,给你几个可行的排查和解决步骤:
检查Babel插件的导入语法
这个错误大多是插件导入方式和Babel要求不匹配导致的。比如你可能在Babel配置文件(比如babel.config.js或项目本地cli配置)里用了require('some-babel-plugin').default的写法,但Babel 7+的插件不需要额外取.default,直接用require('some-babel-plugin')即可。如果用ES模块的import语法,要确保配置文件是.mjs后缀,或者在package.json里设置了"type": "module"。清理依赖缓存并重新安装
有时候node_modules里的依赖文件损坏或版本冲突会引发这类奇怪的Babel错误,执行以下命令试试:rm -rf node_modules rm package-lock.json # 使用npm时执行 # 或 rm yarn.lock 使用yarn时执行 npm install # 或 yarn install rm -rf ~/.babel.json # 清理Babel全局缓存验证Babel版本与React Native的兼容性
React Native每个版本对@babel/core等依赖都有特定版本要求,你可以查看项目根目录package.json里的@babel/core版本,对比React Native官方文档对应版本的依赖要求。如果版本不匹配,尝试升级或降级@babel/core到兼容版本,比如RN 0.70+通常需要@babel/core7.20及以上版本。检查本地CLI的Babel配置
错误提示指向了react-native/local-cli/cliEntry.js,你可以打开这个文件查看里面的Babel插件配置部分,有没有引用错误的插件对象——比如某个插件的导入语句错误地取了.default,导致Babel无法识别这个插件属性。
如果以上步骤都没解决,你可以把项目里的babel.config.js内容,或者package.json里的Babel相关依赖版本贴出来,这样能更精准地定位问题。
内容的提问来源于stack exchange,提问作者zhagqn

