gpt4 book ai didi

node.js - docker-compose 看不到来自 npm 的 node_modules

转载 作者:太空宇宙 更新时间:2023-11-03 21:59:01 25 4
gpt4 key购买 nike

我想我不是第一个遇到这个问题的人,但我不认为 sultion 对我有用。

docker-compose.yml 文件

web:
build: .
volumes:
- .:/src
ports:
- "3000:3000"

Dockerfile

FROM node:0.12

RUN npm install -g mocha

RUN mkdir /src
WORKDIR /src
ADD package.json /src/package.json
RUN npm install
COPY . /src

EXPOSE 3000
CMD node server.js

在通过docker-compose up运行成功构建后,出现错误:

web_1 | Error: Cannot find module 'express'
web_1 | at Function.Module._resolveFilename (module.js:336:15)
web_1 | at Function.Module._load (module.js:278:25)
web_1 | at Module.require (module.js:365:17)
web_1 | at require (module.js:384:17)
web_1 | at Object.<anonymous> (/src/server.js:1:77)
web_1 | at Module._compile (module.js:460:26)
web_1 | at Object.Module._extensions..js (module.js:478:10)
web_1 | at Module.load (module.js:355:32)
web_1 | at Function.Module._load (module.js:310:12)
web_1 | at Function.Module.runMain (module.js:501:10)

有什么想法可能是错误的吗?我已经在这个任务上花费了 3 个多小时,但我不知道为什么这不起作用(docker 新手)。

最佳答案

我认为您正在使用 volume: - .:/src 覆盖目录。

如果您这样做,您需要在主机上运行 npm install

关于node.js - docker-compose 看不到来自 npm 的 node_modules,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32509513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com