메인 콘텐츠로 건너뛰기

설치 스크립트 내부 동작

OpenClaw는 openclaw.ai에서 제공되는 세 가지 설치 스크립트를 함께 배포합니다.

빠른 명령

설치는 완료됐는데 새 터미널에서 openclaw를 찾지 못한다면 Node.js troubleshooting을 확인하세요.

install.sh

macOS/Linux/WSL에서 대화형 설치를 할 때 가장 권장되는 스크립트입니다.

흐름(install.sh)

1

OS 감지

macOS와 Linux(WSL 포함)를 지원합니다. macOS가 감지되면 Homebrew가 없을 때 설치합니다.
2

Node.js 22+ 보장

현재 Node 버전을 확인하고, 필요하면 Node 22를 설치합니다. macOS는 Homebrew, Linux는 NodeSource setup script(apt/dnf/yum)를 사용합니다.
3

Git 보장

Git이 없으면 설치합니다.
4

OpenClaw 설치

  • npm 방식(기본): 전역 npm 설치
  • git 방식: 저장소를 clone/update하고, pnpm으로 의존성을 설치하고 빌드한 뒤 ~/.local/bin/openclaw에 wrapper를 설치
5

설치 후 작업

  • 업그레이드와 git 설치에서는 openclaw doctor --non-interactive를 실행합니다(best effort).
  • 조건이 맞으면(TTY 존재, 온보딩 비활성화 안 됨, bootstrap/config 검사 통과) 온보딩을 시도합니다.
  • 기본으로 SHARP_IGNORE_GLOBAL_LIBVIPS=1을 사용합니다.

소스 checkout 감지

OpenClaw checkout(package.json + pnpm-workspace.yaml) 안에서 실행하면 스크립트는 다음 중 하나를 제안합니다.
  • checkout 사용(git)
  • 전역 설치 사용(npm)
TTY가 없고 설치 방식도 지정하지 않으면 npm으로 기본 처리하며 경고를 출력합니다. 유효하지 않은 method 선택이나 잘못된 --install-method 값에는 종료 코드 2를 반환합니다.

예시(install.sh)


install-cli.sh

시스템 Node 의존성 없이 모든 것을 로컬 prefix(기본 ~/.openclaw) 아래에 두고 싶을 때 적합합니다.

흐름(install-cli.sh)

1

로컬 Node runtime 설치

Node tarball(기본 22.22.0)을 <prefix>/tools/node-v<version>에 내려받고 SHA-256을 검증합니다.
2

Git 보장

Git이 없으면 Linux에서는 apt/dnf/yum, macOS에서는 Homebrew로 설치를 시도합니다.
3

prefix 아래에 OpenClaw 설치

--prefix <prefix>로 npm 설치를 수행하고 <prefix>/bin/openclaw에 wrapper를 씁니다.

예시(install-cli.sh)


install.ps1

흐름(install.ps1)

1

PowerShell + Windows 환경 확인

PowerShell 5+가 필요합니다.
2

Node.js 22+ 보장

Node가 없으면 winget, Chocolatey, Scoop 순서로 설치를 시도합니다.
3

OpenClaw 설치

  • npm 방식(기본): 선택한 -Tag로 전역 npm 설치
  • git 방식: 저장소 clone/update, pnpm install/build, %USERPROFILE%\.local\bin\openclaw.cmd에 wrapper 설치
4

설치 후 작업

가능한 경우 필요한 bin 디렉터리를 사용자 PATH에 추가하고, 업그레이드와 git 설치 시 openclaw doctor --non-interactive를 실행합니다(best effort).

예시(install.ps1)

-InstallMethod git를 사용하는데 Git이 없으면 스크립트는 종료하면서 Git for Windows 링크를 출력합니다.

CI와 자동화

예측 가능한 실행을 위해 비대화형 플래그나 환경 변수를 사용하세요.

문제 해결

git 설치 방식에는 Git이 필수입니다. npm 설치에서도 일부 의존성이 git URL을 사용할 수 있으므로, spawn git ENOENT 오류를 피하려면 Git이 있어야 합니다.
일부 Linux 환경은 npm 전역 prefix가 root 소유 경로를 가리킵니다. install.sh~/.npm-global로 prefix를 바꾸고 shell rc 파일에 PATH export를 추가할 수 있습니다(해당 파일이 있을 때).
스크립트는 기본으로 SHARP_IGNORE_GLOBAL_LIBVIPS=1을 사용해 sharp가 시스템 libvips에 링크되지 않게 합니다. 덮어쓰려면:
Git for Windows를 설치한 뒤 PowerShell을 다시 열고 설치 프로그램을 다시 실행하세요.
npm config get prefix를 실행하고 그 디렉터리를 사용자 PATH에 추가하세요. Windows에서는 \bin 접미사를 붙이지 않습니다. 그다음 PowerShell을 다시 여세요.
install.ps1은 아직 전용 -Verbose 스위치를 제공하지 않습니다. 스크립트 수준 진단이 필요하면 PowerShell tracing을 사용하세요.
대부분 PATH 문제입니다. Node.js troubleshooting을 확인하세요.