openclaw update

OpenClaw를 안전하게 업데이트하고 stable/beta/dev 채널 간 전환합니다.

npm/pnpm (전역 설치, git 메타데이터 없음)으로 설치한 경우 Updating의 패키지 매니저 플로우를 통해 업데이트합니다.

사용법

openclaw update
openclaw update status
openclaw update wizard
openclaw update --channel beta
openclaw update --channel dev
openclaw update --tag beta
openclaw update --dry-run
openclaw update --no-restart
openclaw update --json
openclaw --update

옵션

  • --no-restart: 성공적인 업데이트 후 게이트웨이 서비스 재시작을 건너뜁니다.
  • --channel <stable|beta|dev>: 업데이트 채널을 설정합니다 (git + npm; 설정에 저장).
  • --tag <dist-tag|version>: 이번 업데이트에 한해 npm dist-tag 또는 버전을 재정의합니다.
  • --dry-run: 설정 쓰기, 설치, 플러그인 동기화, 재시작 없이 계획된 업데이트 작업을 미리 봅니다 (채널/태그/대상/재시작 플로우).
  • --json: 머신 판독 가능한 UpdateRunResult JSON을 출력합니다.
  • --timeout <seconds>: 단계별 타임아웃 (기본값 1200초).

참고: 다운그레이드는 이전 버전이 구성을 손상시킬 수 있으므로 확인이 필요합니다.

update status

활성 업데이트 채널 + git 태그/브랜치/SHA(소스 체크아웃의 경우) 및 업데이트 가용성을 표시합니다.

openclaw update status
openclaw update status --json
openclaw update status --timeout 10

옵션:

  • --json: 머신 판독 가능한 상태 JSON을 출력합니다.
  • --timeout <seconds>: 검사 타임아웃 (기본값 3초).

update wizard

업데이트 채널을 선택하고 업데이트 후 게이트웨이 재시작 여부를 확인하는 대화형 플로우입니다 (기본값은 재시작). dev를 선택했는데 git 체크아웃이 없으면 생성을 제안합니다.

동작 원리

채널을 명시적으로 전환(--channel ...)하면 OpenClaw는 설치 방법도 맞춰 조정합니다:

  • dev -> git 체크아웃을 보장합니다 (기본값: ~/openclaw, OPENCLAW_GIT_DIR로 재정의), 업데이트하고 해당 체크아웃에서 전역 CLI를 설치합니다.
  • stable/beta -> 일치하는 dist-tag를 사용하여 npm에서 설치합니다.

게이트웨이 코어 자동 업데이터(설정에서 활성화된 경우)도 동일한 업데이트 경로를 재사용합니다.

Git 체크아웃 플로우

채널:

  • stable: 최신 비베타 태그를 체크아웃한 후 빌드 + doctor.
  • beta: 최신 -beta 태그를 체크아웃한 후 빌드 + doctor.
  • dev: main을 체크아웃한 후 fetch + rebase.

개요:

  1. 클린 워크트리가 필요합니다 (커밋되지 않은 변경 사항 없음).
  2. 선택한 채널(태그 또는 브랜치)로 전환합니다.
  3. 업스트림을 가져옵니다 (dev만 해당).
  4. dev만 해당: 임시 워크트리에서 사전 검증 lint + TypeScript 빌드; 팁이 실패하면 최신 클린 빌드를 찾기 위해 최대 10개 커밋을 역추적합니다.
  5. 선택한 커밋으로 리베이스합니다 (dev만 해당).
  6. 의존성을 설치합니다 (pnpm 우선; npm 폴백).
  7. 빌드 + Control UI 빌드.
  8. 최종 “안전한 업데이트” 검사로 openclaw doctor를 실행합니다.
  9. 플러그인을 활성 채널에 동기화합니다 (dev는 번들 확장 사용; stable/beta는 npm 사용) 및 npm 설치 플러그인을 업데이트합니다.

--update 약식

openclaw --updateopenclaw update로 변환됩니다 (셸 및 런처 스크립트에 유용).

관련 문서