NodeJS 在docker中安装软件包后未找到dotenv

fruv7luv  于 2023-08-04  发布在  Node.js
关注(0)|答案(1)|浏览(170)

我有这样的docker设置:

  1. version: '3'
  2. services:
  3. app:
  4. build:
  5. context: .
  6. dockerfile: Dockerfile
  7. ports:
  8. - "3000:3000"
  9. environment:
  10. - NODE_ENV=development
  11. volumes:
  12. - .:/app

字符串
这是我的Dockerfile

  1. FROM node:14.19.3-alpine
  2. WORKDIR /app
  3. COPY package*.json ./
  4. COPY .npmrc ./
  5. RUN apk add --no-cache build-base g++ cairo-dev jpeg-dev pango-dev giflib-dev
  6. RUN apk add --update --repository http://dl-3.alpinelinux.org/alpine/edge/testing libmount ttf-dejavu ttf-droid ttf-freefont ttf-liberation fontconfig
  7. RUN npm install
  8. COPY . .
  9. EXPOSE 8000
  10. RUN npm install -g nodemon
  11. CMD ["nodemon", "server.js", "--trace-warnings"]


但当我这么做的时候

  1. docker-compose up --build


图像被构建并试图启动,但我立即得到一个错误,说错误:无法找到模块'dotenv'
dotenv在我的package.json列表中,和其他包一样。
如果没有找到它,这只意味着软件包没有正确安装,或者更好的是它们没有进入最终的映像。
我可能做错了什么,我如何才能修复它?

  • 谢谢-谢谢
guykilcj

guykilcj1#

你需要在Dockerfile中安装dotenv:

  1. RUN npm install dotenv

字符串

相关问题