JavaScript 패키지 관리자 - Yarn 1 프로젝트에서 'cheerio' 모듈 누락 오류 해결 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
Yarn 1을 사용하는 JavaScript 프로젝트 개발자, Jest와 Enzyme 테스트 도구 사용자
핵심 요약
- Yarn 1에서
cheerio@1.1.0
과enzyme@3.11.0
의 버전 불일치로Cannot find module 'cheerio'
오류 발생 package.json
의resolutions
필드에cheerio@1.0.0-rc.3
강제 지정 필요yarn install
실행 후yarn.lock
파일에서cheerio
버전 확인 및 테스트 재실행
섹션별 세부 요약
1. 문제 현상
yarn test
실행 시cheerio/lib/utils
모듈 누락 오류 발생- 오류 스택:
node_modules/enzyme/build/Utils.js
에서 모듈 찾기 실패 jest
설정에서testEnvironment
:jsdom
사용
2. 의존성 충돌 원인
enzyme@3.11.0
은cheerio@1.0.0-rc.3
만 호환cheerio@1.1.0
설치 시deep imports
지원 중단으로 오류 발생yarn.lock
파일에서cheerio@1.1.0
이enzyme
의존성으로 자동 선택됨
3. 해결 방법
package.json
에resolutions
필드 추가:
```json
"resolutions": {"enzyme/cheerio": "1.0.0-rc.3"}
```
node_modules
폴더 삭제 및yarn cache
클리어 후yarn install
실행yarn.lock
파일에서cheerio@1.0.0-rc.3
설치 확인
4. 추가 확인 사항
yarn info
명령으로devDependencies
에cheerio
자동 설치 확인enzyme
설치 시cheerio@1.0.0-rc.3
가 직접 의존성으로 포함됨
결론
- *
resolutions
필드를 통해cheerio@1.0.0-rc.3
강제 지정 후yarn install
실행하여 의존성 충돌 해결** yarn.lock
파일에서cheerio
버전이 정확히1.0.0-rc.3
인지 확인enzyme
설치 시cheerio
는 자동으로 포함되므로devDependencies
에 별도 추가 필요 없음