
Gulp를 실행할 때 "Cannot find module 'gulp-sass'"(모듈 gulp-sass를 찾을 수 없음)와 같은 오류 메시지가 표시되는 경우가 있습니다.
이 오류는 Gulp가 gulp-sass 패키지의 함수를 실행하려고 했지만, 해당 패키지를 찾지 못했다는 의미입니다.
이 번거로운 오류가 발생했다면, 아래에서 소개하는 몇 가지 해결 방법을 통해 쉽게 문제를 해결할 수 있습니다.
1. node_modules 폴더 확인하기
npm으로 패키지를 설치하면 프로젝트 루트에 node_modules 폴더가 생성되고, 설치된 패키지 정보가 package.json과 package-lock.json 파일에 함께 기록됩니다.
패키지가 정상적으로 설치되었는지 확인하려면 package.json과 package-lock.json 파일에 해당 패키지가 등록되어 있는지 살펴보세요. 또한 node_modules 폴더 안에 해당 패키지의 하위 폴더가 실제로 존재하는지도 꼼꼼히 확인해야 합니다.
마지막으로, 웹사이트나 웹 앱을 프로젝트 루트 폴더에서 실행하고 있는지, 그리고 루트 폴더 바로 아래에 node_modules 폴더가 위치해 있는지 확인하세요. node_modules 폴더가 올바른 위치에 있지 않으면 이 오류가 발생할 수 있습니다.
2. gulp-sass 모듈 직접 설치하기
node_modules 폴더에서 gulp-sass 패키지를 찾을 수 없거나 위 방법으로도 문제가 해결되지 않는다면, 패키지를 다시 설치해 보세요.
먼저 package.json과 package-lock.json 파일을 열어 gulp-sass 및 node-sass 관련 항목을 모두 삭제합니다. 이렇게 하면 최신 버전의 패키지를 깨끗하게 재설치할 수 있습니다.


그다음 터미널에서 npm install gulp-sass 또는 npm install gulp-sass --save-dev 명령어를 실행하여 패키지를 설치하고 package.json 파일에 저장합니다. --save-dev 플래그를 붙이면 패키지가 devDependencies 섹션에 등록됩니다.
플래그 없이 설치하면 dependencies 섹션에 추가됩니다. 로컬 환경에서만 작업하는 경우라면 어느 섹션에 넣든 큰 차이가 없으므로, 본인에게 맞는 방식을 선택하면 됩니다.
참고로 이 방법은 프로젝트 폴더에 패키지를 로컬로 설치하는 것이므로, 해당 프로젝트에서만 사용할 수 있습니다. 컴퓨터 전역에 설치하면 어떤 디렉토리에서든 패키지에 접근할 수 있습니다.
전역 설치를 원한다면 install 명령어에 -g 플래그를 추가하면 됩니다. 예를 들어 npm install -g gulp-sass처럼 입력하세요.
하지만 필자는 대부분의 패키지를 프로젝트 단위로 로컬 설치하는 편입니다. gulp-cli만 전역으로 설치하고, 나머지는 모두 로컬로 유지합니다.
3. 모든 npm 패키지 삭제 후 재설치하기
gulp-sass 패키지만 삭제하고 재설치하는 방법으로도 해결되지 않는다면, 프로젝트의 모든 npm 패키지를 삭제한 후 처음부터 다시 설치해 보세요.
먼저 프로젝트에 필요한 모든 패키지가 package.json 파일에 등록되어 있는지 확인하고, 특히 gulp-sass가 포함되어 있는지 반드시 점검하세요.
이후 node_modules 폴더를 삭제합니다. 파일 탐색기에서 직접 지우거나, 명령줄에서 rm -rf node_modules 명령어를 실행하면 됩니다. 폴더 삭제 중 오류가 발생하거나 잘 지워지지 않는다면, 삭제를 도와주는 rimraf라는 npm 패키지를 활용해 보세요.
rimraf를 전역으로 설치해 두면 어느 디렉토리에서든 실행할 수 있습니다. npm install -g rimraf 명령어로 전역 설치한 뒤, 프로젝트 루트 경로의 명령줄에서 rimraf node_modules를 실행하면 폴더를 손쉽게 삭제할 수 있습니다.
그래도 문제가 지속되거나 node_modules\@types is not accessible 같은 오류가 나타난다면, VS Code 등 사용 중인 코드 편집기를 먼저 종료한 후 다시 삭제를 시도해 보세요.
node_modules 폴더를 성공적으로 삭제했다면, 프로젝트 루트에서 npm install 명령어를 실행하여 등록된 모든 패키지를 다시 설치하면 됩니다.