Skip to content

pnpm 10.13.1 + npm 12에서 changeset publish 실패 #22

Description

@myamaak

문제

릴리즈 워크플로우에서 changeset publish 실행 시 5개 패키지 전부 publish 실패.

원인

  1. changesets가 patch/pnpm 감지 시 pnpm publish에 pnpm 전용 플래그 --no-git-checks를 붙여 실행한다.
  2. pnpm publish는 내부적으로 실제 npm 바이너리를 exec해 레지스트리 업로드를 수행하는데, pnpm 10.13.1은 이 플래그를 npm에 그대로 전달한다.
  3. CI의 "Check and upgrade npm" 스텝이 npm install -g npm@latest로 npm 12를 설치하는데, npm 12부터 unknown CLI flag를 warn 대신 throw로 처리하도록 바뀌어 --git-checks(정규화된 키)가 EUNKNOWNCONFIG를 던짐.

pnpm 10.19.0에 추가된 removePnpmSpecificOptions가 npm 위임 전에 --no-git-checks 등 pnpm 전용 플래그를 제거하도록 수정돼 있어, 10.13.1에는 이 처리가 없는 게 근본 원인.

조치

  • package.json의 packageManager/engines.pnpm을 10.33.4로 업그레이드
  • 부수적으로 tooling/github(placeholder 패키지)가 private 누락으로 publish 대함께 수정

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions