티스토리 뷰

레거시라고 하기에는 민망하지만, nuxt2 가 EOL 이 되었기 때문에 레거시 프로젝트라고 지칭하겠습니다.
기존 사용했던 nuxt2 프로젝트는 node@16 기반으로 프로젝트가 진행되었고 그 이후로 특별한 버전 업데이트틀 진행하지 않았습니다.
하지만, 계속해서 프로젝트는 진행되며 보안, 성능, 최신 기술, 호환성 등의 문제가 발생할 수 있다 판단하여 node 버전을 최신 LTS (20.17.0) 으로 올리는 판단을 진행하였습니다.

노드 버전 업데이트 후... 문제 발생

우선 node 버전을 최신 LTS 에 상향 시킨 후, 호환성 문제와 OpenSSL 에러 문제(Node 17 부터 OpenSSL 3 을 기본적으로 사용하는데 구버전의 API 에서는 사용하지 않아)가 발생하기 시작하였습니다.

OpenSSL 해결방법

일단 OpenSSL 은 대칭/비대칭 암호화 프로토콜을 구현한 오픈 소스 라이브러리 입니다. SSL/TLS과 관련된 기능들을 제공하며 Nodejs 내부 패키지 crypto, https 등에서 관련 기능을 자주 사용합니다.

bash 기반에서 아래와 같이 노드 옵션을 변경해서 사용하면 해결 됩니다.

export NODE_OPTIONS=--openssl-legacy-provider

upgrade

yarn upgrade 를 통해 의존성을 업데이트하여 최신 패치 및 마이너 버전 업데이트 하여 보안, 성능을 향상 시킬 수 있습니다.

yarn upgrade

일관성 있는 의존성 설치 및 캐시 방지

node modules 과 yarn.lock 파일을 지우고 다시 재설치합니다.

rm -rf node_modules yarn.lock
yarn install

위와 같은 작업 후, 누락된 패키지들이 있을 수 있는데, 누락된 패키지만 추가로 설치해주면 됩니다.
추가적인 에러 상황에는 production install 시 디펜젼시가 누락되거나 하는 이슈가 발생하였기 때문에 상용에 들어갈 디펜젼시도 잘 구분지어 해주면 해결됩니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함