Я пытаюсь создать файл 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",
},