Skip to content

Sentry Module not found: Can't resolve '@sentry/utils/esm/buildPolyfills'

Published: at 오전 12:00

배경

진행하는 프로젝트에 Sentry를 적용하려고 하였습니다.

해당 프로젝트는 NextJS13 App Router로 구성되었고 yarn berry를 사용하였습니다.

npx @sentry/wizard@latest -i nextjs

위 명령어를 이용해서 Sentry를 init 하였으나 에러가 발생했습니다.

app router의 페이지들에 대해서 접근하게되면 Module not found: Can't resolve '@sentry/utils/esm/buildPolyfills'라는 에러가 발생하였습니다.

해결

처음에는 Sentry가 NextJS13 App Router에 대한 지원을 하지 않는다고 생각해서 sentry github에 이슈를 올렸습니다.

해당 이슈

해당 이슈의 Comment로 yarn berry를 사용하였을 때 저와 같은 에러가 발생한다는 것을 알게되었고 Reproduction app을 생성하여 Comment를 남겼습니다.

답변으로는 yarn berry를 사용했을 때 해당 이슈가 발생해서 Sentry의 문제가 아닌 berry의 문제로 보고 해당 저장소로 이슈를 남기라고 답변을 받게 되었습니다.

그 후 yarn berry 깃허브 저장소에 이슈를 남겼기게 되었으며(해당 이슈) yarn berry의 버그가 아닌 의존성 패키지를 설치하지 않아서 발생한 문제라는 답변을 받게되었습니다.

기존의 package manager의 문제 때문에 sentry를 설치할 때 @sentry/utils 패키지도 명시적으로 설치해주어야 하였습니다.

예를들어 동일한 기능을 제공하는 여러 의존성이 중복으로 포함되어 있는 경우 Phantom Dependency 문제가 발생할 수 있습니다.

결론

yarn add @sentry/utils

sentry/utils 패키지를 설치 후 해결되었습니다.