NestJS, GraphQL, MySQL, DBeaver, typeORM
나는 회사 다니면서 사이드 프로젝트도 하고있다… 하지만 블로그는 회사랑 자바 공부하는거 위주로 쓸 것이다.
테이블 다 만들고 도커 컴포즈로 서버키고 디비 연결하려는데 자꾸 안되네… 진짜 미치겠다.
물론 지금은 에러핸들링해서 다 알고 쉽지만 딱 그순간을 마주하면 멘탈이 흔들린다…ㅋㅋ
docker-compose build로 빌드부터 해야하는데 처음부터 막혔다.
우선 첫번째 에러 발생 아니 나는 다 잘 맞춰준거 같은데 뭐지 하면서 처음엔 vs 코드 렉 인줄 알았다.
그래서 재부팅해서 했는데 당연히 안됐다. 내가 보기엔 뭔가 16.14버전을 14.21.3버전으로 바꾸라는 말 같아서
구글링을 해봤는데 sudo n 이라는 매우 유용한 명령어를 알았다.
sudo n => 활성화 시킬 Node.js 버전 변경
sudo n ls => 현재 설치된 Node.js 버전 확인
sudo n install {버전} => 특정 버전의 Node.js 설치
sudo n rm {버전} => 특정 버전의 Node.js 제거
부트캠프때 배웠던 기억으로는 sudo는 관리자 권한으로 강제적으로 하라는 명령어라고 알고있다.
암튼 여기서 내가 신기했던 점은 노드 버전을 여러개 다운을 받고 프레임워크 라이브러리 버전의 호환성에 따라
버전을 바꿔 가며 쓸 수 있다는 점이였고, 신기하고 유용했다. (개발세계는 파면 팔수록 신기한 것들이 많아서 좋다)
하지만 결국 이것도 답이 아니였고… 문득 떠올랐던게 도커 빌드에러니깐 도커 파일을 확인했다. 유레카!
이부분이 문제 였다.. 도커에게 “난 노드 14버전을 쓸거야!” 라고 말하고 16이나 19버전에서 삽질중이였다..
저기 FROM node:14 를 => FROM node:16으로 바꾸니깐 성공했다… 오늘도 이렇게 하나 배워간다…
라고 생각하자마자 두번째 에러
이건 딱봐도 디비버에서 GOW라는 데이터베이스를 만들면 될거 같아서 만들고 리빌딩 , docker-compose up 하니깐 잘 되었다. 난 개발을 하면서 디비 연결이랑 그래프큐엘 연결 성공 할때가 기분이 제일 좋다.