安装expo-updates后EAS构建失败,:app:createReleaseUpdatesResources任务报错
Expo-Updates 安装后EAS构建失败:
:app:createReleaseUpdatesResources 任务执行失败 核心报错信息
Error: @build-script-error-begin 从Metro加载assets JSON失败,请确保已正确完成expo-updates的所有安装步骤。文件/home/expo/workingdir/build/global.css.android.js的SHA-1值未计算。 潜在原因: 1) 项目中存在符号链接——watchman不跟随符号链接。 2) 检查metro.config.js中的`blockList`,确保未排除该文件路径。 @build-script-error-end at createManifestForBuildAsync (/home/expo/workingdir/build/node_modules/expo-updates/utils/build/createManifestForBuildAsync.js:44:15) at processTicksAndRejections (node:internal/process/task_queues:95:5) at async Promise.all (index 0) at /home/expo/workingdir/build/node_modules/expo-updates/utils/build/createUpdatesResources.js:26:5
Gradle构建报错详情
Task :app:createReleaseUpdatesResources FAILED
Task :app:createBundleReleaseJsAndAssets_SentryUploadCleanUp SKIPPED
FAILURE: 构建因异常失败。
进程 'command 'node'' 以非零退出值1结束。
解决办法
1. 处理符号链接问题
项目内的符号链接会导致watchman无法追踪文件,进而无法计算SHA-1:
- 删除不必要的符号链接,改用直接文件引用
- 或者配置watchman跟随符号链接:在项目根目录新建
.watchmanconfig文件,写入以下内容:
{ "follow_symlinks": true }
2. 检查Metro的blockList配置
打开metro.config.js,查看resolver.blockList中是否存在排除global.css.android.js路径的规则,如有则删除对应规则。示例:
module.exports = { resolver: { blockList: [ // 移除包含global.css.android.js的排除项 ] } };
3. 重新确认expo-updates安装流程
- 确保已执行
npx expo install expo-updates - 检查
app.json/app.config.js中的updates字段配置正确 - 确认Android项目的
build.gradle已正确集成expo-updates相关配置
内容的提问来源于stack exchange,提问作者Saeed Mahmoud
相关产品推荐
相关产品推荐

