[gulp 에러 해결] ReferenceError: primordials is not defined in node

2311 단어 errorgulperror

gulp 에러 해결하기

이선 브라운의 Learnig JavaScript 도서를 통해 자바스크립트 개발 환경을 구축하면, 필연적으로 다음과 같은 에러를 만나게 됩니다. 이러한 에러가 발생하는 원인은 무엇이고 어떻게 해결할지에 대해 며칠 동안 삽질한 결과를 간결하게 정리했습니다.

[gulp] ReferenceError: primordials is not defined in node

원인

gulp 3.x와 최신 Node.js 간의 버전 비호환성

에러를 봤던 시점(22.03~)에 내 노트북에 설치되어 있던 gulp와 Node.js의 버전이다. gulp 3.x는 최신 버전의 Node.js와 호환되지 않고, 이로 인해 에러가 발생하였다.

해결

  1. gulp를 4.x로 업그레이드
  2. Node.js를 버전 11로 다운그레이드

나는 후자를 선택하였고, Node.js를 11.15.0로 다운그레이드하였다.

윈도우에서 Node.js 다운그레이드 하기

NVM (Node Version Manager)

nvm으로 한 개발 환경에 Node를 여러 버전 설치하고, 관리할 수 있다. 지금부터 nvm으로 Node.js의 버전을 11.15.0으로 다운그레이드 해 보자.

nvm 다운로드

이곳을 클릭하여 nvm 파일을 다운받는다.

원하는 버전의 노드 설치

nvm install v11.15.0

노드 버전 변경

nvm use 15.11.0

이때 exit status 5: ~, exit status 1: ~ 오류가 새로 발생하였다. 이는 이곳을 클릭하여 해결하겠다.

끝마치며

지금까지 gulp를 실행하면서 만나게 되는 에러들을 해결해 보았다. 이선 브라운의 Learning JavaScript -일명 작은 코뿔소책-은 정말 좋은 책이지만, 가장 최근 발행이 3rd Edition(2019년 1월 20일)이다 보니 초반부 개발 환경 구축에서 상당히 애를 먹었다.

대부분의 에러는 버전 비호환성에서 발생한다

만약 이 책으로 공부를 할 예정이라면, 완벽한 개발 환경 구축에 매달리기 보다는 이번 기회로 에러를 해결하는 방법을 배웠다고 생각하고 일단 자바스크립트라는 프로그래밍 언어에 빠져보는 것을 권장한다!

참고

StackOverFlow Q&A

좋은 웹페이지 즐겨찾기