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-ში.