Node.js 找不到模块';快递';
我正在使用docker compose运行node.js express应用程序。 这是我的文件Node.js 找不到模块';快递';,node.js,docker,Node.js,Docker,我正在使用docker compose运行node.js express应用程序。 这是我的文件 FROM node:latest MAINTAINER jorge@valeet.io # set default workdir WORKDIR /src/api # Expose the application port and run application EXPOSE 3015 CMD [ "node" , "app.js"] docker-compose.yml api: bui
FROM node:latest
MAINTAINER jorge@valeet.io
# set default workdir
WORKDIR /src/api
# Expose the application port and run application
EXPOSE 3015
CMD [ "node" , "app.js"]
docker-compose.yml
api:
build: .
volumes:
- .:/src/api
- /src/api/node_modules
links:
- mongo
ports:
- "3015:3015"
mongo:
image: mongo:3.2
ports:
- "27017:27017"
运行:
docker组合构建
docker compose up-d
我在node.js应用程序上遇到一个错误
Error: Cannot find module 'express'
at Function.Module._resolveFilename (module.js:339:15)
at Function.Module._load (module.js:290:25)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at Object.<anonymous> (/src/api/app.js:4:15)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)
错误:找不到模块“express”
在Function.Module.\u解析文件名(Module.js:339:15)
在Function.Module.\u加载(Module.js:290:25)
at Module.require(Module.js:367:17)
根据需要(内部/module.js:16:19)
反对。(/src/api/app.js:4:15)
在模块处编译(Module.js:413:34)
在Object.Module._extensions..js(Module.js:422:10)
在Module.load(Module.js:357:32)
在Function.Module.\u加载(Module.js:314:12)
位于Function.Module.runMain(Module.js:447:10)
我尝试重新安装express,删除所有软件包,在docker compose(实际设置)中添加node_模块作为卷。我不知道还能做什么。
我正在mac电脑上运行,以防万一
谢谢 节点映像中的应用程序文件夹是
/usr/src/app
,我认为您需要将卷映射到那里。为什么要为/src/api/node\u模块创建卷?此卷正在覆盖已由:src/api
装入的内容。