반응형 backend27 [Prisma] EC2에서 Property does not exist on type 배포 실패 진행하던 express 프로젝트에서 기능을 추가해 깃허브에 커밋을 하고 ec2에 pull을 받아 다시 build 해서 pm2로 배포하려 하였다. 그랬더니 새로 추가된 부분에서 대량으로 에러가 발생했다. 내충 보자면 Schema Property가 없다는 에러가 발생했다. 해당 에러는 로컬에서 실행할 때에는 발생되지 않는 에러였기 때문에 구글링을 해봤는데 'vscode를 다시 실행해라' 뭐 그런 답변들 밖에 없었다. 결국엔 답을 찾아낼 수 있었는데 npm install 시 prisma가 schema.prisma의 스키마 중 일부를 읽지 못해 정상적으로 property가 세팅되지 않은 상태라고 한다. 따라서 npx prisma generate를 실행시켜 prisma-client를 생성하도록 수정하였다. 이렇게.. 2024. 3. 15. [NestJS] NestJS Docker 이미지 빌드 기존 진행하던 프로젝트를 도커로 빌드하기 위한 시도. 간단하게 이미지를 만드는거라 어렵진 않다. 먼저 프로젝트 루트 디렉토리에 도커파일을 만들어준다. D는 대문자여야 한다. 그리고 다음과 같이 입력 FROM node:20 WORKDIR /usr/src/app COPY package.json ./ RUN npm install --legacy-peer-deps COPY ./ ./ CMD ["npm","run","start:dev"] 라인 하나하나 설명하자면 제일 첫번째 줄은 베이스 이름을 명시해준다. 도커 이미지를 만들 때는 아예 아무것도 없는 상태에서 만드는게 아니라 어느 정도 기본적인 구성 요소들이 갖추어진 상태의 이미지를 토대로 만들게 되며 이를 베이스 이미지라고 한다. FROM에서 베이스 이미지를 지.. 2023. 12. 19. [Express]ExpressJS란? Express는 Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크이다. Node.js의 등장으로 원래는 브라우저 안에서만 쓰이던 자바스크립트가 브라우저 바깥에서도 사용할 수 있게 되었다. 따라서 자바스크립트로 서버도 만들 수가 있게 되었는데 이러한 개발자들이 서버를 쉽게 구성할 수 있게 만든 프레임워크가 바로 Express라고 할 수 있다. 상당히 빠르고 유연하며 개방적이기 때문에 초심자들이 많이 선택하는거 같다. 기본적으로 프레임워크 안에 웹 어플리케이션 서버 구축을 위한 각종 라이브러리와 미들웨어가 내장되어 있기 때문에 개발하기가 편하고 가장 대중화 되어 있어 배우기가 쉽다. 그럼 express를 시작해보자. nodejs가 깔려있다는 가정하에... 먼저 적당한 디렉토리를 연다. 그리고 터미널.. 2023. 12. 6. [Node.js] PM2 알아보기 PM2는 Node.js 어플리케이션을 쉽게 관리할 수 있게 해주는 Process Manager이다. 어플리케이션을 cluster mode로 실행시킨다거나, 메모리가 넘친다거나 오류로 인해 프로세스가 종료되는 등의 상황에서 PM2를 사용하면 간단한 설정으로 이러한 처리를 쉽게 해결 가능하다. 설치는 다음 명령어를 실행하면 된다. npm install -g pm2@latest Cluster mode 기본적으로 Node.js는 싱글스레드이다. 싱글스레드의 경우 구동 중인 서버의 CPU 개수와 상관 없이 1개만 사용할 수 있기 때문에 서버 전체의 성능을 온전히 사용하지 못한다. 만약 멀티스레드는 최대 서버 CPU 수 만큼 프로세스를 생성해 최대 성능을 끌어낼 수 있다. # pm2 start app.js -i m.. 2023. 9. 26. 이전 1 2 3 4 5 6 7 다음 반응형