【发布时间】:2021-03-26 00:23:28
【问题描述】:
我在 docker 容器中使用 npm 和用户 root 但是我收到以下两个错误:
glob error [Error: EACCES: permission denied, scandir '/root/.npm/_logs'] {
errno: -13,
code: 'EACCES',
syscall: 'scandir',
path: '/root/.npm/_logs'
}
和
Error: EACCES: permission denied, open '/application/public/mix-manifest.json'
errno: -13,
syscall: 'open',
code: 'EACCES',
path: '/application/public/mix-manifest.json'
}
但是 root 是 .npm 和 .npm/_logs 文件夹的所有者:
~/
drwxr-xr-x 4 root root 4096 Mar 25 09:12 .npm
~/.npm/
drwxr-xr-x 2 root root 4096 Mar 25 09:18 _logs
并且root 具有文件/application/public/mix-manifest.json 的读/写权限:
-rwxrwxr-x 1 www-data www-data 119 Mar 15 14:26 mix-manifest.json
我做错了什么?
我的 Dockerfile 包含:
# Node + NPM
RUN curl -kfsSL https://deb.nodesource.com/setup_15.x | bash -
RUN apt-get install -y nodejs
【问题讨论】:
-
你能分享你的
Dockerfile吗? -
npm 位是
RUN curl -kfsSL https://deb.nodesource.com/setup_15.x | bash - RUN apt-get install -y nodejs,但整个文件在这里:pastebin.com/gqcVqAf8 -
您能否在这个有问题的
curl之前添加RUN w并将答案粘贴到这里? -
它返回了一个读取错误和一个包列表上的解压失败,完全错误:pastebin.com/Re8fWTC1
-
请编辑问题并将这些详细信息包含在问题本身中(不是作为指向其他地方的链接,也不是在 cmets 中)。