You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo React Native编译报错:child.isClassAccessorProperty is not a function

解决child.isClassAccessorProperty is not a function构建错误

问题根源

这个错误是Babel版本不兼容导致的:child.isClassAccessorProperty是Babel 7.18.0及以上版本才支持的API,而你的项目中@babel/core仅为^7.12.9,无法解析react-native-gesture-handler@2.9.0中用到的新语法。

修复步骤

1. 升级Babel核心依赖

在项目根目录执行命令,升级到适配Expo 47的Babel版本:

npm install @babel/core@^7.19.3 --save-dev
# 若用yarn则执行
yarn add @babel/core@^7.19.3 --dev

7.19.3是Expo 47官方推荐的Babel版本,能完美兼容当前项目的React Native 0.70.x环境。

2. 清理缓存并重装依赖

升级后彻底清理缓存,避免旧版本文件残留:

# 清除npm缓存
npm cache clean --force
# 删除node_modules和锁文件
rm -rf node_modules package-lock.json
# 重新安装所有依赖
npm install
# 清除Expo缓存并重启项目
expo start -c

3. 可选:锁定依赖版本(防止自动升级)

如果想避免后续依赖自动升级引发问题,可将package.json中@babel/core的版本号从^7.19.3改为7.19.3(去掉前缀^),固定版本号。

验证

执行expo start重新启动项目,此时JavaScript bundle应该能正常构建,错误消失。


内容的提问来源于stack exchange,提问作者ilies Ould menouer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 18:57:06