Ubuntu 16.04服务器执行Yarn操作遇EACCES权限错误求助
问题原因与解决办法
这个EACCES: permission denied错误的核心原因非常明确——Yarn在执行操作时,没有权限访问或扫描/home/ubuntu/.config/yarn/link目录。具体拆解下来,可能是以下几种情况之一:
- 目标目录不存在:Yarn在执行link相关操作时会自动尝试创建这个目录,但如果系统环境限制(比如临时权限问题)导致创建失败,后续所有Yarn操作都会因为找不到/无法访问这个目录报错。
- 目录所有权错误:大概率是你之前用
root用户执行过Yarn命令(比如安装Yarn本身时用了sudo),导致/home/ubuntu/.config/yarn目录及其子目录的所有权变成了root,而当前用普通用户ubuntu执行操作时,自然没有权限访问属于root的目录。 - 目录权限设置过严:比如目录的权限被设置为
700但所有者不是当前用户,或者权限更低,导致当前用户无法读取、写入或扫描该目录。
快速修复步骤
你可以按照以下步骤解决这个问题:
- 先确认并创建缺失的目录(如果它不存在的话):
mkdir -p /home/ubuntu/.config/yarn/link
- 修正整个Yarn配置目录的所有权,确保属于当前的
ubuntu用户:
sudo chown -R ubuntu:ubuntu /home/ubuntu/.config/yarn
- (可选但推荐)设置合理的目录权限,避免后续再出现权限问题:
chmod -R 755 /home/ubuntu/.config/yarn
执行完这些步骤后,再尝试运行你的Yarn命令,应该就能正常工作了。如果之前还有其他Yarn相关的权限问题,这个方法也能一并解决,因为我们重置了整个Yarn配置目录的权限和所有权。
内容的提问来源于stack exchange,提问作者Astro Lee
相关产品推荐
相关产品推荐

