문제 정의

image.png

VSCode 확장프로그램 출시를 위해 vsce publish를 입력하면 위와 같은 에러가 발생한다.

사실 수집

  1. 현재, 기존 모노레포에서 분리된 레포지토리로 분리된 상황이다.
  2. pnpm install을 통해 모든 모듈을 다운로드 받았다.

원인 추론

image.png

에러가 발생한 시점은 위와 같다. 해당 경로(npm_modules/@eslint-community/regexpp)에 들어가면 아래와 같이 에러가 뜬다.

image.png

현재 내가 사용하고 있는 Node.js 패키지 관리자는 pnpm이다. pnpm은 심볼릭 링크를 사용한다. npm처럼 node_modules에 직접 설치하지 않고 가상 저장소를 가리키는 심볼릭 링크로 구성한다.

image.png

위의 그린 처럼 node_modules하위폴더 우측에 화살표가 있는 이유이다. 실제로 존재하는 게 아니라 가상 저장소를 가리키기 때문이다.

해결 방안 수립

이제, 원인은 찾아냈다. pnpm이라는 패키지 저장소를 사용하는데, vsce publish라는 명령어는 기본적으로 node_modules에서 관련된 패키지를 찾기 때문에 발생한 것이다.

가장 먼저, 검색을 해보았다.

image.png

다행히도 나와 동일한 이슈를 겪은 사람이 있었고, 아래 코멘트를 확인하여 해결하였다.

https://github.com/microsoft/vscode-vsce/issues/421#issuecomment-1038911725