当前位置: 首页 > 知识库问答 >
问题:

Docker:EACCES:权限被拒绝,mkdir“/app/node\u modules/。缓存'

越风史
2023-03-14

我在尝试在React应用程序中构建docker容器时遇到了权限错误。
我试图利用社区答案,但没有帮助。
在相关讨论之后,我尝试了:

  • 我得到当前用户:id-un
  • 尝试了这个:sudo chown-R myUser: myUser /usr/local/lib/node_modules
  • 这也抛出了相同的错误:sudo chown-R ownerName: /usr/local/lib/node_modules
  • 与此相同:sudo chown-R$USER /usr/local/lib/node_modules
  • 添加用户没有帮助:sudo chown-R$USER /app/node_modules
  • 尝试授予安装权限:sudo npm install-g--unsecure-perm=true--low-root
  • 另一个尝试是删除node_modules并安装指定sudosudo npm install

将此添加到docker compose文件也没有帮助:

environment:
      - CHOKIDAR_USEPOLLING=true

我正在尝试使用以下命令构建:docker-compose up--build

Dockerfile。dev文件

FROM node:alpine

WORKDIR '/app'

COPY package.json .
RUN npm install

COPY . .

CMD ["npm", "run", "start"]

docker编写。yml文件

version: "3"
services:
  web:
    stdin_open: true
    environment:
      - CHOKIDAR_USEPOLLING=true
    build:
      context: .
      dockerfile: Dockerfile.dev
    ports:
      - "4000:4000"
    volumes:
      - /app/node_modules
      - .:/app

错误

Building web
Step 1/6 : FROM node:alpine
 ---> 50389f7769d0
Step 2/6 : WORKDIR '/app'
 ---> Using cache
 ---> bb4d4ffdeb02
Step 3/6 : COPY package.json .
 ---> Using cache
 ---> c4e5fce6b1e0
Step 4/6 : RUN npm install
 ---> Using cache
 ---> 9383aea4aba6
Step 5/6 : COPY . .
 ---> Using cache
 ---> 98ea3037694f
Step 6/6 : CMD ["npm", "run", "start"]
 ---> Using cache
 ---> 6edf3365a6db
Successfully built 6edf3365a6db
Successfully tagged app_web:latest
Starting app_web_1 ... 
Starting app_web_1 ... done
Attaching to app_web_1
web_1  | 
web_1  | > app@0.1.0 start
web_1  | > react-scripts start
web_1  | 
web_1  | ℹ 「wds」: Project is running at http://172.20.0.2/
web_1  | ℹ 「wds」: webpack output is served from 
web_1  | ℹ 「wds」: Content not from webpack is served from /app/public
web_1  | ℹ 「wds」: 404s will fallback to /
web_1  | Starting the development server...
web_1  | 
web_1  | Failed to compile.
web_1  | 
web_1  | EACCES: permission denied, mkdir '/app/node_modules/.cache'

任何帮助都将不胜感激

共有1个答案

锺离烈
2023-03-14

请尝试此Docker-EACCES:权限被拒绝,mkdir“/app/node\u modules/。缓存'

这对我有用

RUN chown -R node:node /app/node_modules

或将sh放入docker容器并运行

chown -R node:node /app/node_modules
 类似资料:
  • 我在aws ec2实例上有一个react应用程序。我在安装npm模块时遇到问题。 获取此错误: EACCES:权限被拒绝,mkdir'/home/react app/node_modules/node sass/vendor' 我尝试过这个解决方案,但没有为我工作。 错误:EACCES:权限被拒绝,mkdir'/usr/local/lib/node_modules/node sass/build'

  • 我已经搜索了几个小时了,但找不到解决方案,即使有类似的问题。 我试图在一个全新的laravel安装上运行php artisan tinker,用户是网站管理员(项目目录demo的所有者),但我遇到了以下错误: 使用详细标志运行: 异常跟踪:照亮\Foundation\Bootstrap\HandleExceptions- 希望有人能给我一个提示。谢谢 分布:Raspbian GNU/Linux8(

  • 问题内容: 大喊之前,请重复!把我放进深渊,听我说。:) 我一直在为与我合作的公司开发一个Intranet站点,最初我是直接从运行 Windows 7 / IIS的 工作站开发它的。当我接近站点/应用程序的完成时,我得到了一个运行 Apache 的 Centos 7 盒子,因此我开始了将其迁移到该系统的过程。我已经解决了大部分次要问题,并且现在使网站开始运行。但是,网站的一部分与我们的数据库进行交

  • 我试图运行一个本地Jenkins管道使用Jenkinsfile的nodejs应用程序使用节点:6-alpin图像(默认)使用build.sh脚本使用调用npm安装然后我得到了以下权限错误 npm ERR!错误:EACCES:权限被拒绝,mkdir'/. npm'npm ERR!在错误(本机)npm ERR!{错误:EACCES:权限被拒绝,mkdir'/. npm'npm ERR!在错误(本机)n

  • 我试图运行角应用程序和执行ng service命令,然后显示 错误:找不到模块node-sass。

  • 运行yarn docker build可以正常工作,但当调用yarn docker up或yarn docker dev时,会弹出一个错误。Nginx启动正常,但yarn无法进入Projects目录中的mkdir。 包.json Dockerfile文件 错误 我的回购可以在这里找到https://github.com/cozy-nyc/cozy-nyc