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

Expo Prebuild执行报错:ENOENT文件或目录不存在问题求助

解决Expo Prebuild时的ENOENT文件复制错误(beep.mp3)

问题场景

仓库分支:mhiga701/safesteps-frontend@beta-test-start
执行npx expo prebuild(通过./prebuild.sh触发)时出现以下错误:

Error: [ios.xcodeproj]: withIosXcodeprojBaseMod: ENOENT: no such file or directory, copyfile '/assets/sounds/beep.mp3' -> '/Users/...mypaths.../safesteps-frontend/ios/SafeSteps/beep.mp3'

该错误导致预构建失败,阻碍了构建版本号更新及TestFlight提交流程。

可能原因

  • 项目根目录下的assets/sounds/beep.mp3文件实际不存在
  • Expo配置文件(app.json/app.config.js)中声明了该资源,但路径错误或文件已被删除
  • 源文件/目标目录权限不足,导致无法读取或写入文件

解决步骤

1. 确认文件是否存在

进入项目根目录,执行命令检查目标文件:

ls -la assets/sounds/

如果输出中没有beep.mp3,要么从备份恢复该文件,要么移除配置中对它的引用。

2. 修正Expo资源配置

打开app.json或app.config.js,找到assets数组字段:

  • 如果数组里有"./assets/sounds/beep.mp3"但文件不存在,直接删除这条配置
  • 如果路径写错(比如少写了./或目录名错误),修正为正确的相对路径

3. 修复文件/目录权限

如果文件存在但仍报错,执行以下命令修复权限:

# 修复源文件读取权限
chmod -R 644 assets/sounds/beep.mp3
# 确保iOS目标目录存在且可写入
mkdir -p ios/SafeSteps && chmod -R 755 ios/

4. 清理缓存后重试

清理Expo缓存并重新安装依赖,再执行预构建:

# 清理预构建缓存
npx expo prebuild --clean
# 重新安装依赖
rm -rf node_modules && npm install
./setup.sh
./prebuild.sh

内容的提问来源于stack exchange,提问作者rithvik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 16:32:41