환경
- OS: macOS Sequoia 15.7.2
- Node: v20.11.0
- pnpm: 9.0.0 (monorepo)
하고자 했던 것
@apps-in-toss/web-framework: ^0.0.35 → @apps-in-toss/web-framework: 1.2.1
재현 방법
pnpm install @apps-in-toss/web-framework@latest -w
실제 에러 로그 요약
.../esbuild@0.25.8/node_modules/esbuild/install.js:136
throw new Error(`Expected ${JSON.stringify(versionFromPackageJSON)} but got ${JSON.stringify(stdout)}`);
Error: Expected "0.25.8" but got "0.25.11"
Node.js v20.11.0
관찰한 의존 관계
pnpm why esbuild 결과 요지:
@apps-in-toss/web-framework@0.0.35 → @apps-in-toss/plugins@0.0.35 → esbuild@0.25.5
- 별도의 dev 도구들이
esbuild@0.25.11 사용
- 결과적으로 서로 다른 esbuild 버전(로그 상 0.25.8도 포함)이 섞여 postinstall 검증에서 충돌
질문/요청
@apps-in-toss/web-framework(혹은 @apps-in-toss/plugins)에서 요구하는 공식적인 esbuild 버전 범위를 알려주실 수 있을까요?
- 현재처럼 서로 다른 esbuild가 섞이는 환경에서 권장하는 해결 방법이 있을까요?
- 예: 루트
overrides로 단일화, 특정 버전으로 고정, 또는 환경변수 설정 등
- 가능하다면 다음 방향 중 어느 것이 맞을지 조언 부탁드립니다.
- 패키지 측에서 esbuild 요구 버전을
>=0.25.11로 상향 또는 범위 완화
- postinstall 단계의 “정확 일치” 검증 완화(동일 minor/patch 허용)
- peerDependencies로 전환해 워크스페이스 단일화를 유도
- 단기 대응으로는 루트
pnpm.overrides로 esbuild를 단일화하려는데, 권장하는 방법이 있을까요?
Dylan
2
안녕하세요 
현재 peer esbuild는 0.25.11 버전이 맞아요.
버전 업그레이드는 pnpm ait migrate granite 로 진행하신걸까요 ? 자체적으로 사용하시는 esbuild와의 충돌일까요 ?!
자체적으로 사용하는 esbuild와 충돌로 보입니다!
왜냐하면 pnpm ait migrate granite를 진행하기 위해
pnpm install @apps-in-toss/web-framework@latest -w를 먼저 선행하려고 했었습니다
그럼 pnpm.overrides를 해도 괜찮다는 말씀일까요?
지금 apps-in-toss에서 0.25.8을 요구하는게 잘못된것인가요?
Dylan
4
0.25.8을 요구하는 peer 패키지가 있는 것 같은데, 0.25.11로 통일하여 사용하셔도 무방할 것 같아요 
1개의 좋아요