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.