【发布时间】:2019-01-13 11:13:43
【问题描述】:
我的开发团队目前正在为我们正在开发的项目的更新设置环境。我直奔主题。
在我们的DockerFile 中,我们正在使用RUN npm install -g yarn 安装纱线
但是当执行一个清空缓存文件的.sh文件时,我们得到了错误:
yarn error “EACCESS: permission denied, scandir '/root/.config/yarn/link'”
我一直在寻找可能的修复方法,但我们只找到了一种解决方法,即授予该目录的完全权限:
RUN chmode -R 777 '/root/
而且我们知道这是非常不推荐的。 有人知道更好的答案吗?我在 yarn 和 docker 上看到过很多这样的问题。
Yarn 版本是 1.9.4
编辑1: 问题是纱线与执行此操作的用户一起写入或读取这些文件,因此解决方案是向所有用户授予权限。也许以更严格的方式?
编辑:
在多次失败后,我们决定只使用 chmode -R 777 ~/.config && chmode -R 777 ~/.cache 直到我们运行 yarn install 后才创建这些文件,这是由于我们开发系统的方式,每次用户进入系统时触发。所以解决方法是只给每个用户 777 权限,以便让他们写入这些文件。
无论如何,如果有更好的结果,我会在这里发布答案。
顺便说一句,系统被弃用了
【问题讨论】:
-
你使用的是哪个基础镜像?
-
我不会担心那个,因为它是文件权限inside你的docker容器。
标签: docker permissions yarnpkg