인프런 커뮤니티 질문&답변

Ju님의 프로필 이미지
Ju

작성한 질문수

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

API 문서 만들기(Swagger)

swagger module 오류

작성

·

659

0

영상 3분20초쯤 swagger를 사용하기위해 main.ts를 수정하고 npm run start:dev 로 실행하는데요

npm install --save @nestjs/swagger swagger-ui-express

해당 명령어로 설치를 완료했음에도 불구하고

Error: Cannot find module '@nestjs/core/router/route-path-factory'

Require stack:

- C:\workspace\slack-nest\a-nest\node_modules\@nestjs\swagger\dist\swagger-explorer.js

- C:\workspace\slack-nest\a-nest\node_modules\@nestjs\swagger\dist\swagger-scanner.js

- C:\workspace\slack-nest\a-nest\node_modules\@nestjs\swagger\dist\swagger-module.js

- C:\workspace\slack-nest\a-nest\node_modules\@nestjs\swagger\dist\index.js

- C:\workspace\slack-nest\a-nest\node_modules\@nestjs\swagger\index.js

- C:\workspace\slack-nest\a-nest\dist\main.js

    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:15)

    at Function.Module._load (internal/modules/cjs/loader.js:842:27)

    at Module.require (internal/modules/cjs/loader.js:1026:19)

    at require (internal/modules/cjs/helpers.js:72:18)

    at Object.<anonymous> (C:\workspace\slack-nest\a-nest\node_modules\@nestjs\swagger\dist\swagger-explorer.js:8:30)      

    at Module._compile (internal/modules/cjs/loader.js:1138:30)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)

    at Module.load (internal/modules/cjs/loader.js:986:32)

    at Function.Module._load (internal/modules/cjs/loader.js:879:14)

    at Module.require (internal/modules/cjs/loader.js:1026:19) {

  code: 'MODULE_NOT_FOUND',

  requireStack: [

    'C:\\workspace\\slack-nest\\a-nest\\node_modules\\@nestjs\\swagger\\dist\\swagger-explorer.js',

    'C:\\workspace\\slack-nest\\a-nest\\node_modules\\@nestjs\\swagger\\dist\\swagger-scanner.js',

    'C:\\workspace\\slack-nest\\a-nest\\node_modules\\@nestjs\\swagger\\dist\\swagger-module.js',

    'C:\\workspace\\slack-nest\\a-nest\\node_modules\\@nestjs\\swagger\\dist\\index.js',

    'C:\\workspace\\slack-nest\\a-nest\\node_modules\\@nestjs\\swagger\\index.js',

    'C:\\workspace\\slack-nest\\a-nest\\dist\\main.js'

  ]

}

@nestjs/core/router/route-path-factory모듈을 찾을수없다는 에러가 나옵니다.

해당 모듈을 npm 으로 설치하려하면 

npm ERR! code ENOLOCAL

npm ERR! Could not install from "@nestjs\core\router\route-path-factory" as it does not contain a package.json file.       

npm ERR! A complete log of this run can be found in:

npm ERR!     C:\Users\Victory_Ju\AppData\Roaming\npm-cache\_logs\2021-07-11T12_14_26_578Z-debug.log

이러한 오류가 나오며 설치가 안되더군요,

제가 vscode에서 작성한 내용은 아래와 같습니다.

import { NestFactory } from '@nestjs/core';
import { DocumentBuilderSwaggerModule } from '@nestjs/swagger';
import { AppModule } from './app.module';

declare const moduleany;

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  const port = process.env.PORT || 3000;

  const config = new DocumentBuilder()
    .setTitle('Sleact API')
    .setDescription('Sleact 개발을 위한 API 문서입니다.')
    .setVersion('1.0')
    .addCookieAuth('connect.sid')
    .build();
  const document = SwaggerModule.createDocument(app,config);
  SwaggerModule.setup('api',app,document);
  
  await app.listen(port);
  console.log(`server listen port ${port}`);

  if (module.hot) {
    module.hot.accept();
    module.hot.dispose(() => app.close());
  }

}
bootstrap();

답변 2

2

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네스트 버전이 8버전으로 올라가서 버전 불일치가 발생한것같습니다. 제 깃헙에 있는 pacakge.json을 보시고 같은 버전으로 설치해주세요(또는 모두 8버전 최신으로 깔아도 되긴 됐습니다)

0

Ju님의 프로필 이미지
Ju
질문자

감사합니다! swagger 버전을 낮추어서 문제를 해결하였습니다.

Ju님의 프로필 이미지
Ju

작성한 질문수

질문하기