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

拉取项目主分支后执行yarn build遇EACCES权限错误,多种尝试无效求助

解决Yarn Build时EACCES权限无法删除CSS文件的问题

问题场景

在Linux容器的Symfony项目中,拉取主分支代码并完成composer install、yarn install后,执行yarn build时触发权限错误:

Error: EACCES: permission denied, unlink '/dir/anotherdir/file.css'
error Command failed with exit code 1.

已尝试但无效的操作:

  • 使用sudo yarn build
  • 删除node_modules目录(rm -rf node_modules)
  • 清理Yarn缓存(yarn cache clean)
  • 切换执行yarn start或重新执行yarn build
  • 对目标文件及目录设置chmod 777权限

可行解决方案

1. 修正文件所有者

容器内文件可能由宿主机root创建,导致普通用户无权限操作。先查看文件所有者:

ls -l /dir/anotherdir/file.css

若所有者是root,修改为容器内运行项目的用户(比如www-data或你的用户名):

chown -R [你的用户名]:[用户组] /dir/anotherdir
# 示例:chown -R www-data:www-data /dir/anotherdir

2. 修复sudo执行后的权限残留

用sudo跑Yarn会生成root权限的文件,后续普通用户操作必然报错。执行以下命令修复权限:

sudo chown -R $USER:$USER node_modules
sudo chown -R $USER:$USER ~/.yarn

之后不要再用sudo执行Yarn命令。

3. 检查容器挂载目录的权限配置

如果项目目录是宿主机挂载到容器的,宿主机权限会影响容器内访问。启动容器时指定与宿主机一致的用户ID:

# Docker启动示例,替换为你的实际挂载路径和镜像名
docker run -v /宿主机项目路径:/容器内项目路径 --user $UID:$GID 你的镜像名

4. 手动删除目标文件后重建

如果Yarn无法自动删除该文件,手动删除后再执行构建:

rm -f /dir/anotherdir/file.css
yarn build

5. 排查Yarn工作区权限(若使用)

如果项目用了Yarn工作区,检查工作区目录权限是否正常,避免脚本生成异常权限的文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 13:36:39