1. 사건의 발단
이미지 최적화 관련 webpack플러그인 중 하나인 ImageMinimizerPlugin은 여러 하위 플러그인과 함께 사용하는 패키지이다.
하위 플러그인인 imagemin-xxx 패키지들을 설치하여 빌드할 때 해당 패키지들을 찾지 못하는 오류 발생
2. 문제 원인 분석
빌드 관련 패키지의 종속성의 버전이 낮았던 것이 원인.
*build 스크립트에서 webpack-cli 패키지를 사용하고 있었다.
*실행 일자 기준 2년전 생성한 프로젝트로 webpack-cli 패키지의 버전이 4.x.x 버전이었다.(최신 5.x.x)
3. 원인에 대한 학습
이미지 최적화 관련 패키지를 설치하기 전까지 build 커멘드는 문제없이 작동했기에, 새로 설치한 패키지(이미지 최적화 관련)에 대한 부분만 의심한 케이스.
build 자체는 관련이 없다고 생각했다.
하지만 원인은 build 커멘드와 가장 밀접한 패키지의 버전에 있었고, 오류가 발생한 원인 동작(build)부터 의심해 볼 필요성을 느꼈다.
또한 해당 프로젝트는 생성된지 2년이 넘은 레포였다.
오래된 프로젝트에서 관련된 종속성을 업데이트 하거나, 새로운 패키지를 설치할 때는 package.json에 명시된 각 패키지의 버전이 낮아 관련한 문제가 발생할 수 있다는 것을 알 수 있었다.
4. 문제의 해결
해당 패키지의 github issue에 해당 에러 키워드를 입력해 관련된 코멘트를 찾았고,
webpack-cli 패키지를 업데이트하여 해결하였다.
에러 추적은 발생지부터, 오래된 프로젝트는 버전체크부터!
'나를 죽이지 못한 삽질들' 카테고리의 다른 글
[삽질] - Netlify deploy error (conflicts dependencies) (0) | 2022.06.14 |
---|---|
[삽질] - parcel build시 root 문제 (0) | 2022.01.10 |
[삽질] - CRA의 eject (2) | 2022.01.05 |
두 번의 삽질은 멍청한 짓이다. (0) | 2022.01.05 |