본문 바로가기
BACKEND/NestJS

NestJS 설치

by 드로니뚜벅이 2024. 12. 28.

Node.js를 설치하면 Node.js에서 사용하는 패키지를 관리하는 npm(Node Package Manager)도 설치합니다. 즉, npm은 https://www.npmjs.com에 등록된 라이브러리들을 쉽게 설치, 삭제할 수 있게 해줍니다.

NestJS 설치

NestJS는 Node.js를 기반으로 하기 때문에 먼저 Node.js를 설치합니다.

최신 버전은 https://nodejs.org/download 페이지에서 다운로드 후 설치합니다. 설치 방법은 공식 사이트를 참고하세요.

NestJS 설치는 npm을 통해 필요한 라이브러리들을 하나씩 설치하거나 간편하게 프로젝트를 생성할 수 있는 nest-cli 패키지로 설치하는 방법 그리고 git clone으로 작업 디렉토리에 내려받은 후 설정을 변경하는 방법 등이 있습니다.

여기서는 nest-cli 패키지로 설치하는 방법을 알아 보겠습니다.

$ npm i -g @nestjs/cli
...
$ nest -v
10.4.9

 

프로젝트 초기화

설치가 끝났으면 프로젝트를 초기화 합니다.

$ nest new --strict helloworld # --strict : typescript
⚡  We will scaffold your app in a few seconds..

? Which package manager would you ❤️  to use? npm
CREATE helloworld/.eslintrc.js (663 bytes)
CREATE helloworld/.prettierrc (51 bytes)
CREATE helloworld/README.md (3340 bytes)
CREATE helloworld/nest-cli.json (171 bytes)
CREATE helloworld/package.json (1951 bytes)
CREATE helloworld/tsconfig.build.json (97 bytes)
CREATE helloworld/tsconfig.json (541 bytes)
CREATE helloworld/src/app.controller.ts (274 bytes)
CREATE helloworld/src/app.module.ts (249 bytes)
CREATE helloworld/src/app.service.ts (142 bytes)
CREATE helloworld/src/main.ts (208 bytes)
CREATE helloworld/src/app.controller.spec.ts (617 bytes)
CREATE helloworld/test/jest-e2e.json (183 bytes)
CREATE helloworld/test/app.e2e-spec.ts (630 bytes)

✔ Installation in progress... ☕

🚀  Successfully created project helloworld
👉  Get started with the following commands:

$ cd helloworld
$ npm run start


                          Thanks for installing Nest 🙏
                 Please consider donating to our open collective
                        to help us maintain this package.


               🍷  Donate: https://opencollective.com/nest

프로젝트를 생성하는 단계에서 패키지 매니저를 선택하라는 화면에서 본인이 선호하는 것을 선택합니다. 여기서는 npm을 선택했습니다.

 

프로젝트에 필요한 패키지가 모두 설치되고 나면 아래와 같은 보일러프레이트(boilerplate) 디렉터리가 생성됩니다.

$ tree
├── README.md
├── nest-cli.json
├── node_modules
├── package-lock.json
├── package.json
├── package-lock.json
├── package.json
├── src
│   ├── app.controller.spec.ts
│   ├── app.controller.ts
│   ├── app.module.ts
│   ├── app.service.ts
│   └── main.ts
├── test
│   ├── app.e2e-spec.ts
│   └── jest-e2e.json
├── tsconfig.build.json
└── tsconfig.json

 

nest new 로 프로젝트를 설정한 것보다 더 최신 버전의 라이브러리들로 구성하려면 NestJS 공식 예제 스타터 프로젝트를 클론해서 시작할 수 있습니다.

$ git clone https://github.com/nestjs/typescript-starter.git project
$ cd project
$ npm install # or npm i
$ npm run start:dev # 운영시에는 npm run start
[4:14:09 AM] Starting compilation in watch mode...

[4:14:10 AM] Found 0 errors. Watching for file changes.

[Nest] 5179  - 12/28/2024, 4:14:10 AM     LOG [NestFactory] Starting Nest application...
[Nest] 5179  - 12/28/2024, 4:14:10 AM     LOG [InstanceLoader] AppModule dependencies initialized +5ms
[Nest] 5179  - 12/28/2024, 4:14:10 AM     LOG [RoutesResolver] AppController {/}: +6ms
[Nest] 5179  - 12/28/2024, 4:14:10 AM     LOG [RouterExplorer] Mapped {/, GET} route +1ms
[Nest] 5179  - 12/28/2024, 4:14:10 AM     LOG [NestApplication] Nest application successfully started +3m

 

 

 

참고 사이트

 

 

 

'BACKEND > NestJS' 카테고리의 다른 글

NestJS 알아보기  (0) 2023.11.25