NextJS 9 프로젝트 개발환경 구축하기(2023)

원지렁·2023년 8월 15일
0
post-thumbnail

회사에 입사하고 처음으로 맡은 임무는 5년전에 구축된 NextJS 프로젝트의 개발환경을 구축하는 것이었다.
아주 오래전에 만들어져서 그 이후로 유지보수가 이루어지지 않은 한마디로 죽은(?) 상태의 프로젝트였다.
5년전 환경설정에 모든것이 맞추어져 있고 그 이후로 아무도 손대지 않은 한마디로 고대 유물같은...(OMG)
당연하게도 현재 그 시절 설정 그대로 배포를 돌리면 오류가 나서 아무도 손을 못대고 있던 그런 상황이었다. ㅠ_ㅠ
혹시라도 저 같은 상황에 있는 분들이 있다면 도움이 될까 회고 겸 글을 써봅니다..

기술 스택

  • NextJS 9
  • Node 12
  • Vercel

개발환경 구축

1) Node 업데이트

우선 해당 프로젝트에서는 node 12버전을 쓰고 있었다. 프로젝트가 돌아가게 하려면 필히 이 부분을 업데이트 할 필요가 있었다. 게다가 Vercel에서 2023년 이후부터는 node 14,16을 더이상 지원하지 않는다고 하였다. (14,16도 지원 안한다는데 12는 진즉에 에러나는게 당연한 상황이었다...)

따라서 23년도 현재 LTS버전인 18버전(18.17.0)을 기준으로 업데이트 하기로 하였다. nvm을 이용하여 node 18을 설치하고 적용한 뒤 충돌이 일어나는 나머지 dependency들을 손봐주었다.

2) 충돌되는 dependecies 업데이트/제거

3) NODE_OPTIONS=--openssl-legacy-provider

node의 환경변수 설정 충돌과 OpenSSL 오류를 막기 위해 package.json의 build script에 해당 옵션을 넣어주었다.

 "scripts": {
        "dev": "NODE_OPTIONS=--openssl-legacy-provider next dev",
        "build": "NODE_OPTIONS=--openssl-legacy-provider next build",
       ...

마무리하며

정리된 내용들을 보면 별거 아닌 것들이 많지만 아무래도 개발 1개월차(^_ㅠ) 코린이어서 그런가 삽질한 시간들이 너무 길게 느껴졌다. 토이 프로젝트를 진행할때도 Vercel을 많이 이용했는데, 아무래도 실무에서는 Gitlab을 연동해서 배포하는 것이 아니라 CLI를 통해 배포를 하다보니 이것저것 새로운 것들이 많았다.

다음에는 Gitlab Runner를 이용하여 CI/CD 파이프라인을 구축했던 내용을 공유해보고자 한다.
코린이 시기엔 개발환경 구축 프로세스를 A-Z까지 경험해 보는 것이 참 중요하고 소중함 경험이다.

profile
새싹 개발자 지렁이의 벨로그입니다.

1개의 댓글

comment-user-thumbnail
2023년 8월 15일

즐겁게 읽었습니다. 유용한 정보 감사합니다.

답글 달기