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

标签 docker permissions yarnpkg

我的开发团队目前正在为我们正在开发的项目建立更新环境。我要直截了当。

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

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

我一直在寻找可能的修复程序,但我们仅找到一种解决方法,该方法是赋予该目录完全权限:
RUN chmode -R 777 '/root/

我们知道强烈不建议这样做。
有谁知道更好的答案?我已经看到了很多类似的问题,例如yarn和docker。

yarn 版本为1.9.4

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

最佳答案

试试这个dockerfileUSER rootRUN npm install -g yarnUSER [user name]RUN chown -R [user name] ~/.config && chown -R [user name] ~/.cache
https://docs.npmjs.com/getting-started/fixing-npm-permissions

关于docker - 在docker镜像中安装yarn时出现权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51708552/

相关文章:

node.js - 从 npm 迁移到 yarn 时出错 - 引擎 "node"与此模块不兼容

node.js - 安装 yarn 后 Npm 不工作(找不到 number-is-nan)

docker - 使用Docker模仿现有的生产服务器与将Docker容器部署到生产中?

docker - 为什么docker容器名称末尾有一个随机数?

facebook - publish_actions 权限错误

php - WAMP 不显示目录列表中的图标

docker - 安装 kubeadm-dind-cluster 后无法访问 K8s 仪表板

php - 在 Dockerfile 中为 php :8. 1-fpm 安装并启用 OCI8 扩展

networking - Powershell 在当前服务器上创建共享 - 授予用户/组权限

javascript - 如何使用 Laravel Mix 将 lodash debounce 添加到我的项目中