[ERR_REQUIRE_ESM]: Must use import to load ES Module 발생 시

필요한 npm 패키지들을 설치하고, npm run start:dev를 하니 아래와 같이 error가 발생하였다.

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: 
/node_modules/~

이유는 현재 사용하고 있던 node 버전과 호환되지 않는 npm 패키지를 설치해서였다.

해결 방법은 두 가지가 있다.

  1. node 버전을 올린다.
  2. 에러를 발생시킨 npm 패키지의 버전을 호환가능한 버전으로 재설치한다.

대부분 node 버전을 올리기도 하지만, 다른 사람들과 node 버전을 맞춰야하는 경우에는 1번의 방법을 사용하기 힘들다.

내 경우에는 crypto-random-string이 버전 호환 문제로 이슈가 발생하였다.

 

현재 최신 버전은 4.0인데 package.json에서 4.0이라 표기되어있는 부분을 기존에 사용하던 버전인 2.0으로 변경 후, 재설치하였더니 정상 작동한다.