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

Expo托管应用构建遇EACCES权限拒绝错误求助

Expo构建持续触发EACCES权限错误的解决方法

问题情况

  • 托管式Expo应用运行正常,但执行发布构建时频繁出现EACCES权限错误,典型报错:
    EACCES: permission denied, unlink '/var/folders/kc/tcj3gswx2375d58ns86504400000gn/T/eas-cli-nodejs/f77fa97c-73a2-4eb2-bdf0-ad473a6170cf-shallow-clone/Library/Mobile Documents/.DS_Store'
    
    或类似EACCES: permission denied mkdir '/path/to/file'的报错
  • 已尝试删除临时文件夹、移除原项目并创建新Expo应用重新构建,问题仍存在
  • 使用sudo执行构建命令会触发socket问题,试过的命令包括:
    eas build -p android --profile preview
    npx eas build -p android --profile preview
    sudo npx eas build -p android --profile preview
    eas build -p android --profile preview --local
    sudo npx eas build -p android --profile preview --local
    npx eas build -p android --profile preview --local
    

解决步骤

1. 修复系统临时目录权限

EACCES错误大多源于/var/folders/下临时目录的权限归属异常,执行命令重置权限:

sudo chown -R $(whoami):staff /var/folders/

执行前请关闭所有占用该目录文件的进程。

2. 重置eas-cli的全局安装权限

如果eas-cli是全局安装的,权限问题可能出在这里,重新以当前用户身份安装:

# 卸载全局eas-cli
npm uninstall -g eas-cli
# 清理npm缓存
npm cache clean --force
# 重新安装(不要加sudo)
npm install -g eas-cli

用yarn的话替换为:

yarn global remove eas-cli
yarn cache clean
yarn global add eas-cli

3. 调整项目及本地构建缓存权限

使用--local构建时,确保项目目录和eas缓存目录权限正确:

# 重置项目目录权限
chown -R $(whoami):staff /path/to/your/expo-project
# 清理eas本地缓存
rm -rf ~/.eas

4. 绝对不要用sudo执行构建命令

sudo会改变命令运行的用户上下文,引发socket连接、文件权限继承等问题,所有构建命令直接以当前用户身份执行即可。

5. 验证用户基础权限

执行以下命令测试当前用户对临时目录的读写权限:

touch /var/folders/$(whoami)/test-file && rm /var/folders/$(whoami)/test-file

如果命令报错,说明用户权限存在系统级问题,需要检查用户组配置或联系系统管理员。

内容的提问来源于stack exchange,提问作者Engr.Aftab Ufaq

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 17:06:19