클라이언트로부터 Nest.js의 BackEnd에 Nice API관련 연동 작업의뢰가 들어왔다.
컴퓨터를 바꾸기 이전 Node.js에서 동일한 작업을 했던 상황이기에 해당 내용을 토대로 하면 되겠지? 라며,
의뢰를 냉큼 받았고, 이전 Node.js 업무 당시 트러블이 있었기에 작업시 주의사항에 대해 긴 대화를 나눴다.
(모두들 아시다시피 Node.js는 자유롭기에 구조가 사이트마다 다 다릅니다.)
개발자님은 아실까요?
"제가 근 1년 내로 1시간이상 통화해본 사람이 당신이라는 것을..."
아무튼 이래저래 개발자님의 고충도 들어주며, 어떻게 작업하면 좋을지 가이드를 받았다.
그때까지만 해도 "후, 이번 일은 쉽게 쉽게 해결될 것 같구만?" 이라고 생각했었다.
하지만, 드디어 Nest.js를 설치하였고
$ npm install -g @nestjs/cli
그때부터가 난관의 시작이었다.
nest : 'nest' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오.
위치 줄:1 문자:1
+ nest
+ ~~~~
+ CategoryInfo : ObjectNotFound: (nest:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
"어...? 정신이 아득해졌다."
Node.js 때도 오류는 있었지만, 어떻게든 찾아다 npm 설치를 통해 해결할 수 있었는데, nest 자체가 안된다니
나는 열심히 원인을 찾아 이곳 저곳을 찾아보았다.
영어로도 검색해보고, 한쿡어로도 검색해보고, 네이버에서도 검색해보고...
하지만, Nest.js의 정보는 한쿡도 외쿡도 많이 없었다.
게다가 이미 Node.js에서 진절머리나게 이런 일들을 겪었던 그들에겐 필요 없는 정보였을지도 모른다.
하지만, 나는 이 곳에 막 발을 들인 Newbie.
"그리고 포기를 모르는 남자지."
아무튼 나는 그 답을 찾았고 나와같은 이가 있을지도 모른다고 생각하여, 나의 정답노트를 모두에게 알리기 위해 Tistory를 만들었다.
그 방법은 아래와 같다.
$ npx @nestjs/cli
npx를 이용해 직접 설치된 모듈을 실행하는 것!
비단 Nest.js 뿐 아니라 전역 모듈이 실행되지 않는 사람은 이렇게 사용하면 된다는 내용도 확인되었다.
혹시나 nest 뿐 아니라 다른 Node.js 기반 언어들도 설치후 동작하지 않을 경우, 이 방법을 써보기 바란다.
Usage: nest <command> [options]
Options:
-v, --version Output the current version.
-h, --help Output usage information.
Commands:
new|n [options] [name] Generate Nest application.
build [options] [app] Build Nest application.
start [options] [app] Run Nest application.
info|i Display Nest project details.
add [options] <library> Adds support for an external library to your project.
generate|g [options] <schematic> [name] [path] Generate a Nest element.
Schematics available on @nestjs/schematics collection:
┌───────────────┬─────────────┬──────────────────────────────────────────────┐
│ name │ alias │ description │
│ application │ application │ Generate a new application workspace │
│ class │ cl │ Generate a new class │
│ configuration │ config │ Generate a CLI configuration file │
│ controller │ co │ Generate a controller declaration │
│ decorator │ d │ Generate a custom decorator │
│ filter │ f │ Generate a filter declaration │
│ gateway │ ga │ Generate a gateway declaration │
│ guard │ gu │ Generate a guard declaration │
│ interceptor │ itc │ Generate an interceptor declaration │
│ middleware │ mi │ Generate a middleware declaration │
│ module │ mo │ Generate a module declaration │
│ pipe │ pi │ Generate a pipe declaration │
│ provider │ pr │ Generate a provider declaration │
│ resolver │ r │ Generate a GraphQL resolver declaration │
│ service │ s │ Generate a service declaration │
│ library │ lib │ Generate a new library within a monorepo │
│ sub-app │ app │ Generate a new application within a monorepo │
│ resource │ res │ Generate a new CRUD resource │
└───────────────┴─────────────┴──────────────────────────────────────────────┘
이 멋진... 안내를 보라.
이걸 이용해 아래와 같이 하면, 새로운 프로젝트를 세팅하게 된다.
$ npx @nestjs/cli new [ProjectName]
그럼 폴더가 생기고, 이제 해당 폴더로 이동해 작업을 진행하면 된다.
그럼, 20000!
'개발새발 박스 > Nest.js' 카테고리의 다른 글
Nest.js 로 NICE API 처리하기! (0) | 2022.12.05 |
---|---|
httpService Request 처리 중 콘솔에 왠 로그가? (1) | 2022.11.18 |