Install overview
설치 프로그램 내부 구조
OpenClaw는 openclaw.ai에서 제공되는 세 가지 설치 스크립트를 제공합니다.
| 스크립트 | 플랫폼 | 수행 내용 |
|---|---|---|
install.sh |
macOS / Linux / WSL | 필요하면 Node를 설치하고, npm(기본값) 또는 git을 통해 OpenClaw를 설치하며, 온보딩을 실행할 수 있습니다. |
install-cli.sh |
macOS / Linux / WSL | npm 또는 git checkout 모드로 로컬 prefix(~/.openclaw)에 Node + OpenClaw를 설치합니다. root가 필요하지 않습니다. |
install.ps1 |
Windows (PowerShell) | 필요하면 Node를 설치하고, npm(기본값) 또는 git을 통해 OpenClaw를 설치하며, 온보딩을 실행할 수 있습니다. |
빠른 명령
install.sh
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bashcurl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --helpinstall-cli.sh
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bashcurl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --helpinstall.ps1
iwr -useb https://openclaw.ai/install.ps1 | iex& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag beta -NoOnboard -DryRuninstall.sh
흐름 (install.sh)
Detect OS
macOS와 Linux(WSL 포함)를 지원합니다. macOS가 감지되면 Homebrew가 없을 경우 설치합니다.
Ensure Node.js 24 by default
Node 버전을 확인하고 필요하면 Node 24를 설치합니다(macOS에서는 Homebrew, Linux apt/dnf/yum에서는 NodeSource setup 스크립트). OpenClaw는 호환성을 위해 현재 22.16+인 Node 22 LTS도 계속 지원합니다.
Ensure Git
Git이 없으면 설치합니다.
Install OpenClaw
npm방식(기본값): 전역 npm 설치git방식: repo를 clone/update하고, pnpm으로 deps를 설치하고, build한 다음~/.local/bin/openclaw에 wrapper를 설치합니다.
Post-install tasks
- 로드된 gateway service를 최선의 방식으로 새로 고칩니다(
openclaw gateway install --force, 그다음 restart). - upgrade와 git 설치에서
openclaw doctor --non-interactive를 실행합니다(최선의 방식). - 적절한 경우 온보딩을 시도합니다(TTY 사용 가능, 온보딩이 비활성화되지 않음, bootstrap/config check 통과).
- 기본값은
SHARP_IGNORE_GLOBAL_LIBVIPS=1입니다.
소스 checkout 감지
OpenClaw checkout(package.json + pnpm-workspace.yaml) 내부에서 실행하면 스크립트가 다음을 제안합니다.
- checkout 사용(
git), 또는 - 전역 설치 사용(
npm)
TTY를 사용할 수 없고 설치 방식이 설정되지 않은 경우 기본값은 npm이며 경고를 표시합니다.
잘못된 방식 선택 또는 잘못된 --install-method 값의 경우 스크립트는 코드 2로 종료됩니다.
예시 (install.sh)
Default
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bashSkip onboarding
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboardGit install
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method gitGitHub main via npm
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --version mainDry run
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-runFlags reference
| 플래그 | 설명 |
|---|---|
--install-method npm|git |
설치 방식을 선택합니다(기본값: npm). 별칭: --method |
--npm |
npm 방식의 단축 옵션 |
--git |
git 방식의 단축 옵션. 별칭: --github |
--version <version|dist-tag|spec> |
npm 버전, dist-tag 또는 package spec(기본값: latest) |
--beta |
사용 가능하면 beta dist-tag를 사용하고, 아니면 latest로 대체합니다 |
--git-dir <path> |
Checkout 디렉터리(기본값: ~/openclaw). 별칭: --dir |
--no-git-update |
기존 checkout에 대해 git pull을 건너뜁니다 |
--no-prompt |
prompt를 비활성화합니다 |
--no-onboard |
온보딩을 건너뜁니다 |
--onboard |
온보딩을 활성화합니다 |
--dry-run |
변경 사항을 적용하지 않고 작업을 출력합니다 |
--verbose |
디버그 출력을 활성화합니다(set -x, npm notice-level logs) |
--help |
사용법을 표시합니다(-h) |
Environment variables reference
| 변수 | 설명 |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm |
설치 방식 |
OPENCLAW_VERSION=latest|next|main|<semver>|<spec> |
npm 버전, dist-tag 또는 package spec |
OPENCLAW_BETA=0|1 |
사용 가능하면 beta 사용 |
OPENCLAW_GIT_DIR=<path> |
Checkout 디렉터리 |
OPENCLAW_GIT_UPDATE=0|1 |
git update 전환 |
OPENCLAW_NO_PROMPT=1 |
prompt 비활성화 |
OPENCLAW_NO_ONBOARD=1 |
온보딩 건너뛰기 |
OPENCLAW_DRY_RUN=1 |
dry run 모드 |
OPENCLAW_VERBOSE=1 |
디버그 모드 |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
npm log level |
SHARP_IGNORE_GLOBAL_LIBVIPS=0|1 |
sharp/libvips 동작 제어(기본값: 1) |
install-cli.sh
흐름 (install-cli.sh)
Install local Node runtime
고정된 지원 Node LTS tarball(버전은 스크립트에 포함되며 독립적으로 업데이트됨)을 <prefix>/tools/node-v<version>에 다운로드하고 SHA-256을 검증합니다.
Ensure Git
Git이 없으면 Linux에서는 apt/dnf/yum, macOS에서는 Homebrew를 통해 설치를 시도합니다.
Install OpenClaw under prefix
npm방식(기본값): npm으로 prefix 아래에 설치한 다음<prefix>/bin/openclaw에 wrapper를 작성합니다.git방식: checkout(기본값~/openclaw)을 clone/update하고 여전히<prefix>/bin/openclaw에 wrapper를 작성합니다.
Refresh loaded gateway service
동일한 prefix에서 gateway service가 이미 로드된 경우 스크립트는
openclaw gateway install --force를 실행한 다음 openclaw gateway restart를 실행하고,
gateway 상태를 최선의 방식으로 검사합니다.
예시 (install-cli.sh)
Default
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bashCustom prefix + version
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --prefix /opt/openclaw --version latestGit install
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --install-method git --git-dir ~/openclawAutomation JSON output
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclawRun onboarding
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboardFlags reference
| 플래그 | 설명 |
|---|---|
--prefix <path> |
설치 prefix(기본값: ~/.openclaw) |
--install-method npm|git |
설치 방식을 선택합니다(기본값: npm). 별칭: --method |
--npm |
npm 방식의 단축 옵션 |
--git, --github |
git 방식의 단축 옵션 |
--git-dir <path> |
Git checkout 디렉터리(기본값: ~/openclaw). 별칭: --dir |
--version <ver> |
OpenClaw 버전 또는 dist-tag(기본값: latest) |
--node-version <ver> |
Node 버전(기본값: 22.22.0) |
--json |
NDJSON 이벤트를 출력합니다 |
--onboard |
설치 후 openclaw onboard를 실행합니다 |
--no-onboard |
온보딩을 건너뜁니다(기본값) |
--set-npm-prefix |
Linux에서 현재 prefix에 쓸 수 없으면 npm prefix를 ~/.npm-global로 강제합니다 |
--help |
사용법을 표시합니다(-h) |
Environment variables reference
| 변수 | 설명 |
|---|---|
OPENCLAW_PREFIX=<path> |
설치 접두사 |
OPENCLAW_INSTALL_METHOD=git|npm |
설치 방법 |
OPENCLAW_VERSION=<ver> |
OpenClaw 버전 또는 dist-tag |
OPENCLAW_NODE_VERSION=<ver> |
Node 버전 |
OPENCLAW_GIT_DIR=<path> |
git 설치용 Git 체크아웃 디렉터리 |
OPENCLAW_GIT_UPDATE=0|1 |
기존 체크아웃의 git 업데이트 전환 |
OPENCLAW_NO_ONBOARD=1 |
온보딩 건너뛰기 |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
npm 로그 수준 |
SHARP_IGNORE_GLOBAL_LIBVIPS=0|1 |
sharp/libvips 동작 제어(기본값: 1) |
install.ps1
흐름(install.ps1)
Ensure PowerShell + Windows environment
PowerShell 5+가 필요합니다.
Ensure Node.js 24 by default
없으면 winget, Chocolatey, Scoop 순서로 설치를 시도합니다. 현재 22.16+인 Node 22 LTS는 호환성을 위해 계속 지원됩니다.
Install OpenClaw
npm방법(기본값): 보호된 폴더(예:C:\)에서 열린 셸도 계속 작동하도록 쓰기 가능한 설치 프로그램 임시 디렉터리에서 선택한-Tag를 사용해 전역 npm 설치git방법: 저장소 클론/업데이트, pnpm으로 설치/빌드,%USERPROFILE%\.local\bin\openclaw.cmd에 래퍼 설치
Post-install tasks
- 가능한 경우 필요한 bin 디렉터리를 사용자 PATH에 추가
- 로드된 Gateway 서비스를 최선의 노력으로 새로 고침(
openclaw gateway install --force후 재시작) - 업그레이드 및 git 설치에서
openclaw doctor --non-interactive실행(최선의 노력)
Handle failures
iwr ... | iex 및 스크립트블록 설치는 현재 PowerShell 세션을 닫지 않고 종료 오류를 보고합니다. 직접 powershell -File / pwsh -File 설치는 자동화를 위해 여전히 0이 아닌 코드로 종료됩니다.
예시(install.ps1)
Default
iwr -useb https://openclaw.ai/install.ps1 | iexGit install
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod gitGitHub main via npm
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag mainCustom git directory
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -GitDir "C:\openclaw"Dry run
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -DryRunDebug trace
# install.ps1에는 아직 전용 -Verbose 플래그가 없습니다.Set-PSDebug -Trace 1& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardSet-PSDebug -Trace 0Flags reference
| 플래그 | 설명 |
|---|---|
-InstallMethod npm|git |
설치 방법(기본값: npm) |
-Tag <tag|version|spec> |
npm dist-tag, 버전 또는 패키지 명세(기본값: latest) |
-GitDir <path> |
체크아웃 디렉터리(기본값: %USERPROFILE%\openclaw) |
-NoOnboard |
온보딩 건너뛰기 |
-NoGitUpdate |
git pull 건너뛰기 |
-DryRun |
작업만 출력 |
Environment variables reference
| 변수 | 설명 |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm |
설치 방법 |
OPENCLAW_GIT_DIR=<path> |
체크아웃 디렉터리 |
OPENCLAW_NO_ONBOARD=1 |
온보딩 건너뛰기 |
OPENCLAW_GIT_UPDATE=0 |
git pull 비활성화 |
OPENCLAW_DRY_RUN=1 |
Dry run 모드 |
CI 및 자동화
예측 가능한 실행을 위해 비대화형 플래그/환경 변수를 사용하세요.
install.sh (non-interactive npm)
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboardinstall.sh (non-interactive git)
OPENCLAW_INSTALL_METHOD=git OPENCLAW_NO_PROMPT=1 \ curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bashinstall-cli.sh (JSON)
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclawinstall.ps1 (skip onboarding)
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard문제 해결
Why is Git required?
git 설치 방법에는 Git이 필요합니다. npm 설치의 경우에도 의존성이 git URL을 사용할 때 spawn git ENOENT 실패를 피하기 위해 Git을 계속 확인/설치합니다.
Why does npm hit EACCES on Linux?
일부 Linux 설정은 npm 전역 접두사를 root 소유 경로로 지정합니다. install.sh는 접두사를 ~/.npm-global로 전환하고 셸 rc 파일이 있으면 PATH export를 추가할 수 있습니다.
sharp/libvips issues
스크립트는 sharp가 시스템 libvips에 맞춰 빌드되지 않도록 기본값으로 SHARP_IGNORE_GLOBAL_LIBVIPS=1을 사용합니다. 재정의하려면:
SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bashWindows: "npm error spawn git / ENOENT"
Git for Windows를 설치하고 PowerShell을 다시 연 뒤 설치 프로그램을 다시 실행하세요.
Windows: "openclaw is not recognized"
npm config get prefix를 실행하고 해당 디렉터리를 사용자 PATH에 추가한 다음(Windows에서는 \bin 접미사가 필요 없음) PowerShell을 다시 여세요.
Windows: how to get verbose installer output
install.ps1은 현재 -Verbose 스위치를 제공하지 않습니다.
스크립트 수준 진단에는 PowerShell 추적을 사용하세요:
Set-PSDebug -Trace 1& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardSet-PSDebug -Trace 0openclaw not found after install
일반적으로 PATH 문제입니다. Node.js 문제 해결을 참조하세요.