node.js - Typescript-feil i Docker-build under npm run build
Står overfor et merkelig problem i docker build for typescript.
Docker-fil jeg har brukt som multistage-build.
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
men det samme fungerer hvis jeg kjører npm run build på lokal maskin i stedet for i Docker
Feil under kjøring av npm run build inne i Dockerfile
"Feil TS2322: Type 'Pick
'' kan ikke tildeles typen 'ILocationValue'.
nedenfor er ILocationValue
interface ILocationValue extends MongoDoc, ILoc {}
og
interface ILoc
{
longitude: number;
latitude: number;
timezone: string;
address: string;
}
Kan noen hjelpe med dette, eller om dette er et Docker-relatert eller TS-relatert problem?
Svar #1
Sannsynligvis overskriver du node_modules når du kjører copy . . med de fra vertsmaskinen din. Prøv å kjøre kommandoen på et rent repository eller legg til node_modules i docker ignore.