node.js - Typescript შეცდომა Docker-ში შექმნის პროცესის დროს, როდესაც შესრულდება npm run build


მუშაობის დროს უცნაური პრობლემა გამომივიდა Docker build-ში TypeScript-ისთვის.

Docker ფაილი, რომელიც მაქვს გამოყენებული როგორც მრავალსაფეხურიანი აშენება.

FROM node:13.12.0-alpine3.10 as build
COPY package.json /tmp/package.json
RUN cd /tmp && npm i --unsafe-perm --no-optional && npm cache clean --force

RUN mkdir -p /home/app && mkdir -p /home/app/ui && cp -a /tmp/node_modules /home/app && cp -a /tmp/ui/node_modules /home/app/ui/node_modules
WORKDIR /home/app
COPY . .
RUN npm run build && cd ui && npm run build

მაგრამ იგივე მუშაობს, თუ დავამუშავებ `npm run build` ადგილობრივ მანქანაზე Docker-ის ნაცვლად

შეცდომა npm run build-ის გაშვებისას Dockerfile-ში

"შეცდომა TS2322: ტიპი 'Pick' არ შეიძლება შეესაბამებოდეს ტიპს 'ILocationValue'."

ქვემოთაა ILocationValue

interface ILocationValue extends MongoDoc, ILoc {} 

და

interface ILoc
{
    longitude: number;
    latitude: number;
    timezone: string;
    address: string;
}

მინიმუმ ვინმე შეგიძლიათ დამეხმაროთ ამაში, ან ეს დოკერის ან TS-ის დაკავშირებული პრობლემა არის?

პასუხი #1

ცხადია, თქვენ აჭრილებთ node_modules-ს copy . . შესრულებისას თქვენს ჰოსტიდან. სცადეთ ბრძანების შესრულება სუფთა რეპოზიტორიაში ან დამატეთ node_modules docker ignore-ში.