React Native构建失败:expo-modules-core:prepareBoost报错‘非GZIP格式’
解决expo-modules-core构建时Boost文件损坏问题
报错信息
Execution failed for task ':expo-modules-core:prepareBoost'. > Could not read C:\Users\netwo\Desktop\Ekhool Project\Android Project\expo-app\node_modules\expo-modules-core\android\build\downloads\boost_1_76_0.tar.gz. > Not in GZIP format
环境信息
- React Native版本:0.69.5
- Expo SDK版本:已eject(SDK 46)
- 运行环境:
- 操作系统:Windows
- Gradle版本:7.4.2
- JDK:OpenJDK 11
1. 如何确保boost_1_76_0.tar.gz文件正确下载?
- 删除已损坏文件:找到路径
C:\Users\netwo\Desktop\Ekhool Project\Android Project\expo-app\node_modules\expo-modules-core\android\build\downloads,删除其中的boost_1_76_0.tar.gz及已解压的boost文件夹(若存在)。 - 清理Gradle缓存:在项目根目录执行
gradlew clean,同时手动删除~/.gradle/caches目录下的相关缓存文件。 - 重新触发下载:执行
gradlew :expo-modules-core:prepareBoost,确保网络稳定,避免下载中断;若网络受限,切换至稳定环境后重试。
2. 有无无需修改expo-modules-core包即可绕过或修复该问题的方法?
- 使用本地Boost包:
- 下载官方正版Boost 1.76.0的
.tar.gz压缩包(确认格式正确、文件未损坏)。 - 将压缩包放到本地路径,比如
C:\local-boost\boost_1_76_0.tar.gz。 - 在项目
android/build.gradle中添加配置:ext { boostDownloadUrl = 'file:///C:/local-boost/boost_1_76_0.tar.gz' }
- 下载官方正版Boost 1.76.0的
- 指定本地解压后的Boost目录:
若已手动解压Boost到C:\local-boost\boost_1_76_0,在android/build.gradle中添加:ext { boostRoot = 'C:/local-boost/boost_1_76_0' } - 重新安装依赖:删除项目根目录的
node_modules、package-lock.json(或yarn.lock),执行npm install(或yarn install)后重新构建。
3. 是否有特定的Boost版本或手动安装流程可解决此问题?
- 针对Expo SDK 46和React Native 0.69.5,官方指定Boost版本为1.76.0,不要随意更换版本,避免兼容性异常。
- 手动安装流程:
- 下载官方Boost 1.76.0的
.tar.gz压缩包,验证文件哈希值(与官方发布页的哈希比对,确保文件完整)。 - 将压缩包解压到本地目录,比如
C:\boost_1_76_0。 - 在项目
android/build.gradle中配置boostRoot指向该解压路径,配置方式同问题2中的指定本地目录方法。 - 执行
gradlew clean后重新构建项目。
- 下载官方Boost 1.76.0的
内容的提问来源于stack exchange,提问作者Gowtham
相关产品推荐
相关产品推荐

