Сбой компиляции TypeScript внутри Dockerfile - PullRequest
2 голосов
/ 09 июня 2019

У меня есть следующее Dockerfile, которое не выполняется на этапе, который компилирует TypeScript:

FROM node:12
WORKDIR /usr/src/app

# SETUP

COPY package.json .
COPY tsconfig.json .
COPY src .

RUN npm install -g yarn@^1.16.0
RUN yarn install

# BUILD

RUN npx tsc <------------------------

Сообщение об ошибке очень сбивает с толку:

File '/usr/src/app/app.ts' is not under 'rootDir' '/usr/src/app/src'. 'rootDir' is expected to contain all source files.

Это не имеет смысла ... Он находит app.ts в папке src и затем жалуется, что его нет в папке src.

Файлы:

src
  app.ts
tsconfig.json
Dockerfile

Как мне решить эту проблему?

Вот мой tsconfig.json:

{
  "compilerOptions": {
    ...
    "rootDir": "./src",
    "outDir": "./build",
    ...
  }
}

1 Ответ

2 голосов
/ 09 июня 2019

Ух, это была такая простая проблема, не связанная с TypeScript.

Я неправильно выполнил команду COPY.

При копировании файлов вы можете сделать COPY <filename> .

Но, видимо, для каталогов вы должны сделать COPY <dirname> <dirname>

Так что я исправил это, изменив COPY src . на COPY src src.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...