Я создал базовое приложение с помощью инструмента CLI (v6.3.0) и достиг того момента, когда я был готов перейти на рабочий сервер и столкнулся с проблемой.
Я развертываю с использованием Shipit(что, вероятно, не имеет значения), и частью этого процесса является установка зависимостей npm (с флагом --production
).
Все развертывается без помех, пока мое развертывание не выполнит последнюю команду npm run start:prod
(запустить приложение Nest на узле процесса).Который выполняет следующие шаги:
- Удаляет содержимое каталога dist
rimraf dist && npm run build
; - Пытается перестроить содержимое каталога dist
tsc -p tsconfig.build.json
; - Запускает
node dist/main.js
;
Проблема со всем этим в том, что пакет TypeScript
, который, как я считаю, предоставляет команду tsc
, является devDependency, а не зависимостью, которая устанавливается во время установки npm сфлаг --production
.
Это ошибка, или я полностью упускаю точку команды npm run start:prod
.Я ценю, что установка пакета TypeScript в глобальном масштабе может решить проблему, хотя я не был уверен, было ли это намерением или предположением?
Если вы развертываете NestJS в рабочей среде, используете ли вы какую-то другую стратегию?