У меня есть гнездо. js (node.js based framework) бэкэнд. Если я запускаю его в режиме разработки (конечно, с помощью nodemon), все работает как положено. Я могу даже связаться с ним по сети через порт 3000 без каких-либо ошибок.
Но когда я запускаю его в производственном режиме с> npm run start: prod <, Nest запускается нормально, но сразу после броска при запуске следующая ошибка: </p>
(...)
[Nest] 15780 - 2020-03-24 15:13:24 [NestApplication] Nest application successfully started +1101ms
events.js:187
throw er; // Unhandled 'error' event
^
Error: listen EACCES: permission denied 3000,
at Server.setupListenHandle [as _listen2] (net.js:1284:19)
at listenInCluster (net.js:1349:12)
at Server.listen (net.js:1448:5)
at ExpressAdapter.listen (C:\...\SampleProject\node_modules\@nestjs\platform-express\adapters\express-adapter.js:44:32)
at NestApplication.listen (C:\...\SampleProject\node_modules\@nestjs\core\nest-application.js:140:26)
at async bootstrap (C:\...\SampleProject\dist\main.js:12:5)
Emitted 'error' event on WebSocketServer instance at:
at Server.emit (events.js:210:5)
at emitErrorNT (net.js:1328:8)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
code: 'EACCES',
errno: 'EACCES',
syscall: 'listen',
address: '3000,',
port: -1
}
npm ERR! code ELIFECYCLE
npm ERR! SampleProject@0.3.1 start:prod: `node dist/main`
npm ERR! Exit status 1
(...)
Я уже попробовал следующее:
- удалена папка node_modules и блокировка пакета. json и перезагруженные зависимости
- попытался запустить powershell как администратор
- обновил зависимости проекта до последних версий
О, мой файл main.ts:
import { NestFactory } from '@nestjs/core';
import { NestExpressApplication } from '@nestjs/platform-express';
import { AppModule } from './app.module';
import { join } from 'path';
import * as Express from 'express';
import { ExpressAdapter } from '@nestjs/platform-express';
async function bootstrap() {
const app = await NestFactory.create<NestExpressApplication>(AppModule);
app.useStaticAssets(join(__dirname, '/uploads'));
app.setBaseViewsDir(join(__dirname, '/views'));
app.setViewEngine('hbs');
app.enableCors();
await app.listen( process.env.PORT || 3000);
}
bootstrap();
Понятия не имею, что это " events. js "Файл, который выдает ошибку. Может быть, nest js встроен в обработчик событий? Извините, что беспокою вас, ребята, но я не нашел в Интернете ничего похожего на эту странность. Если нужно, я мог бы предоставить вам больше кода или ссылку на мой репозиторий github.