0.2.1 - 2026-06-11
sync-ai-clis 0.2.1
Two fixes for how updates pick their channel. Both were found in the wild by doctor on its first day.
Fixed
- npm updates stay in their prefix. With nvm (or any multi-Node setup), a bare
npm install -gruns whichever npm happens to be active and installs into that npm's prefix — a second copy, not an update. sync-ai-clis now resolves the npm that owns the existing install and runs that one, by absolute path.--dry-runshows the exact invocation, as always. - brew formulas that bundle npm packages are brew again. The
gemini-cliformula ships its npm package inside the Cellar, which made the channel detector read it as an npm install and update it with npm. Cellar and Caskroom paths now take precedence, so these tools update withbrew upgradeas they should. npm globals installed through a brew-managed Node still count as npm.
Together those two were a duplicate factory: a brew-installed gemini misread as npm, plus an nvm-active shell, produced a second gemini that shadowed the first. doctor catches the symptom; 0.2.1 removes the cause.
sync-ai-clis 0.2.1 (한국어)
업데이트가 채널을 고르는 방식의 결함 두 가지를 고쳤습니다. 둘 다 출시 첫날 doctor가 실사용 환경에서 찾아낸 문제입니다.
고침
- npm 업데이트가 자기 prefix를 지킵니다. nvm처럼 node가 여러 개인 환경에서 그냥
npm install -g를 실행하면 그 순간 활성화된 npm이 잡혀 자기 prefix에 설치합니다 — 업데이트가 아니라 두 번째 사본이 생기는 거죠. 이제 기존 설치를 소유한 npm을 찾아 절대경로로 실행합니다.--dry-run은 언제나처럼 실제 호출을 그대로 보여줍니다. - npm 패키지를 동봉한 brew formula를 다시 brew로 인식합니다.
gemini-cli의 formula는 npm 패키지를 Cellar 안에 담고 있어서 채널 감지가 npm 설치로 읽고 npm으로 업데이트했습니다. 이제 Cellar·Caskroom 경로가 우선이라 이런 도구는 원래대로brew upgrade로 업데이트됩니다. brew node를 거친 npm 글로벌은 여전히 npm으로 인식합니다.
이 둘이 겹치면 중복 설치 제조기가 됩니다. brew로 깐 gemini를 npm으로 오인한 상태에서 nvm이 활성화된 셸이면, nvm prefix에 두 번째 gemini가 생겨 첫 번째를 가립니다. doctor는 증상을 잡고, 0.2.1은 원인을 없앱니다.