[Error/Nodejs] NPM (Node.js Package Manager) feat. npm Error: Class extends value undefined is not a constructor or null (정의되지 않은 클래스 확장 값이 생성자 또는 null이 아님)

keynene·2023년 7월 22일
0

세팅/오류 Tips

목록 보기
8/11

💻[Error/Nodejs] NPM (Node.js Package Manager) feat. npm Error: Class extends value undefined is not a constructor or null (정의되지 않은 클래스 확장 값이 생성자 또는 null이 아님)


  • Nodejs 버전충돌 (기존프로젝트에서 사용하던 버전 vs 새로 설치한 버전)
  • 무분별한 버전 업그레이드로 인한 에러

타입스크립트를 공부하던 중 Nodejs버전을 최신버전으로 유지하고 싶어 개발환경에 별다른 조치없이 Nodejs 공식 홈페이지에서 LTS버전을 다운로드 했다가 기존 React로 개발했던 프로젝트가 npm 에러가 나면서 실행되지 않는 상황이 발생했다.

↓ 당시 에러 내용
NPM (Node.js Package Manager) feat. npm Error: Class extends value undefined is not a constructor or null

해결법은 오히려 간단했다.




Nodejs설치 전 📁node_modules 폴더를 삭제하면 된다.


1. Nodejs 설치 전 node_modules 삭제하기

📌 반드시 node_modules 폴더만 삭제할 것!
(기존 Nodejs가 설치된 경로는 PC마다 다를 수 있다.)

2. 삭제 완료했으면 Nodejs 공식 홈페이지에서 LTS버전 다운로드 받기

Nodejs 공식 홈페이지 : https://nodejs.org/en
LTS버전이 다른 프로젝트 및 모듈과 호환성이 좋아 권장드린다.
필요 시 Current버전을 다운받아도 좋다.




무분별한 업데이트를 지양하고, 필요시 확인작업을 거치자.


  1. Nodejs와 같이 타 프로젝트에서도 호환성을 필요로 하는 중요한 프로그램은 반드시 설치하고자 하는 버전이 타 프로젝트와 호환되는지 확인하자

  2. 확인했다면 혹시모를 상황을 대비해 이전 버전을 백업해두고 언제든지 롤백할 수 있는 환경을 구축해놓자


사실 당시에 건드린거라곤 Nodejs설치밖에 없었기 때문에 원인 및 해결방법 찾기는 쉬웠으나, 무분별한 버전 업그레이드로 인한 에러라 또 무분별하게 삭제하기가 겁이나 급하게 이전 버전을 commit해놓고 삭제했었다...😅
무분별한 업데이트 자체가 부담이지만 꼭 필요하다면 나처럼 이전 버전을 commit해두고 언제든지 롤백할 수 있게끔 구현해놓는 방법도 괜찮을 것 같다..

profile
keynene

0개의 댓글