在docker镜像中安装yarn时出现权限问题

问题描述 投票:0回答:3

我的开发团队目前正在为我们正在开发的项目的更新设置环境。我直接进入正题吧

在我们的

DockerFile
中,我们正在使用
RUN npm install -g yarn
安装纱线 但是当执行清空缓存文件的
.sh
文件时,我们得到了错误:

yarn error “EACCESS: permission denied, scandir '/root/.config/yarn/link'”

我一直在寻找可能的修复方法,我们只找到了一个解决方法,即授予该目录完全权限:

RUN chmode -R 777 '/root/

我们知道强烈不建议这样做。 有谁知道更好的答案吗?我见过很多像纱线和码头工人这样的问题。

纱线版本是1.9.4

编辑1: 问题是,yarn 与执行此操作的用户一起写入或读取这些文件,因此解决方案是向所有用户授予权限。也许以更严格的方式?

编辑:

经过多次失败后,我们决定只使用 chmode -R 777 ~/.config && chmode -R 777 ~/.cache 这些文件直到我们运行纱线安装后才创建,由于我们开发系统的方式,触发了这些文件每次用户进入系统时。因此,解决方法是向每个用户授予 777 权限,以便他们可以写入这些文件。

无论如何,如果有更好的事情出现,我会在这里发布答案。

顺便说一句,该系统已被弃用

docker permissions yarnpkg
3个回答
0
投票

试试这个

dockerfile

USER root

RUN npm install -g yarn

USER [user name]

RUN chown -R [user name] ~/.config && chown -R [user name] ~/.cache

https://docs.npmjs.com/getting-started/fixing-npm-permissions


0
投票

尝试

sudo npm install yarn && yarn install

-4
投票

我们最终设置了 777 权限,但该系统已被弃用。

© www.soinside.com 2019 - 2024. All rights reserved.