ошибка nodemon с docker (не удается найти модуль 'pstree.remy) - PullRequest
3 голосов
/ 18 марта 2020

Я пытаюсь создать файл docker для приложения TypeScript node.js.

Это мой Dockerfile:

FROM node:10 as base
ENV NODE_ENV=production
WORKDIR /app
RUN npm install -g nodemon
COPY package*.json ./
RUN npm install 
ENV PATH /app/node_modules/.bin:$PATH

FROM base as dev
ENV NODE_ENV=development
RUN npm install
CMD ["/app/node_modules/.bin/nodemon"]

FROM dev as build
COPY . .
RUN tsc

FROM base as prod
COPY --from=build /app/dist/ .
CMD ["node", "app.js"]

, и это мой docker -компонент. YML-файл:

version: '2.4'

services:
  ts:
    build:
      context: .
      target: dev
    ports:
      - "3000:3000"
      - "9229:9229"
    volumes:
      - .:/app
    env_file:
      - .env

, когда я запускаю docker-compose up --build:

, он выдает мне эту ошибку:

ts_1  | internal/modules/cjs/loader.js:638
ts_1  |     throw err;
ts_1  |     ^
ts_1  | 
ts_1  | Error: Cannot find module 'pstree.remy'

, и это является частью пакета. json

  "scripts": {
    "build": "rm -rf dist && tsc --skipLibCheck && cp -r src/public dist",
    "start": "node ./dist/app.js",
    "start:dev": "npm run build && pm2 start dist/ecosystem.config.js --env development",
    "start:prod": "npm run build && pm2 start dist/ecosystem.config.js --env production",
  },
...