Javascript docker未在主机上安装依赖项(节点\模块)
当我运行Javascript docker未在主机上安装依赖项(节点\模块),javascript,node.js,reactjs,docker,docker-compose,Javascript,Node.js,Reactjs,Docker,Docker Compose,当我运行docker compose build时,我看到package.json中的依赖项安装在容器上,而不是我的机器上。因此,之后当我运行docker compose up时,我会得到未找到依赖项的错误,即:Error:找不到模块“express” 我的应用程序结构非常简单,如下所示: |____frontend | |____index.html | |____index.js | |____webpack.config.js | |____yarn.lock | |____package
docker compose build
时,我看到package.json中的依赖项安装在容器上,而不是我的机器上。因此,之后当我运行docker compose up
时,我会得到未找到依赖项的错误,即:Error:找不到模块“express”
我的应用程序结构非常简单,如下所示:
|____frontend
| |____index.html
| |____index.js
| |____webpack.config.js
| |____yarn.lock
| |____package.json
| |____dev.Dockerfile
|____backend
| |____server.js
| |____yarn.lock
| |____package.json
| |____dev.Dockerfile
|____docker-compose.yml
volumes:
- './frontend:/frontend:cached'
- '/frontend/node_modules'
my docker-compose.yml:
version: "3.3"
services:
frontend:
build:
context: .
dockerfile: frontend/dev.Dockerfile
volumes:
- ./frontend:/frontend:cached
command: yarn start
backend:
build:
context: .
dockerfile: backend/dev.Dockerfile
volumes:
- ./backend:/backend:cached
command: yarn start
这是前端的Dockerfile(后端看起来相同):
这个配置有什么问题?我遗漏了什么?我遇到了一个类似的问题,通过向docker compose文件中的node_modules目录添加一个匿名卷解决了这个问题。因此docker compose文件中的卷如下所示:
|____frontend
| |____index.html
| |____index.js
| |____webpack.config.js
| |____yarn.lock
| |____package.json
| |____dev.Dockerfile
|____backend
| |____server.js
| |____yarn.lock
| |____package.json
| |____dev.Dockerfile
|____docker-compose.yml
volumes:
- './frontend:/frontend:cached'
- '/frontend/node_modules'
我是从博客文章中得到这个想法的,我不知道在哪里安装依赖项。我正在使用一个名为
warn
的包管理器。在我的dockerfiles中,我有一个RUN-thread
命令,它应该安装dependenciesOh,我不知道命令thread
单独安装了依赖项。我总是使用纱线安装
。关于你的问题,我首先要检查包.json
,看看express
是否作为依赖项包括在内,还要检查安装完成后创建的node\u modules
文件夹,看看是否有一个express文件夹,如果一切正常,应该在那里安装库。嘿,这救了我的命!!!