Install overview

กลไกภายในของตัวติดตั้ง

OpenClaw มาพร้อมสคริปต์ติดตั้งสามตัว ซึ่งให้บริการจาก openclaw.ai

สคริปต์ แพลตฟอร์ม สิ่งที่ทำ
install.sh macOS / Linux / WSL ติดตั้ง Node หากจำเป็น ติดตั้ง OpenClaw ผ่าน npm (ค่าเริ่มต้น) หรือ git และสามารถเรียกใช้การเริ่มต้นใช้งานได้
install-cli.sh macOS / Linux / WSL ติดตั้ง Node + OpenClaw ลงใน prefix ภายในเครื่อง (~/.openclaw) ด้วยโหมด npm หรือ git checkout ไม่ต้องใช้ root
install.ps1 Windows (PowerShell) ติดตั้ง Node หากจำเป็น ติดตั้ง OpenClaw ผ่าน npm (ค่าเริ่มต้น) หรือ git และสามารถเรียกใช้การเริ่มต้นใช้งานได้

คำสั่งด่วน

install.sh

curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --help

install-cli.sh

curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --help

install.ps1

iwr -useb https://openclaw.ai/install.ps1 | iex
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag beta -NoOnboard -DryRun

install.sh

ลำดับการทำงาน (install.sh)

  • ตรวจหา OS

    รองรับ macOS และ Linux (รวมถึง WSL) หากตรวจพบ macOS จะติดตั้ง Homebrew หากยังไม่มี

  • ตรวจให้แน่ใจว่ามี Node.js 24 เป็นค่าเริ่มต้น

    ตรวจสอบเวอร์ชัน Node และติดตั้ง Node 24 หากจำเป็น (Homebrew บน macOS, สคริปต์ตั้งค่า NodeSource บน Linux apt/dnf/yum) OpenClaw ยังรองรับ Node 22 LTS ซึ่งปัจจุบันคือ 22.14+ เพื่อความเข้ากันได้

  • ตรวจให้แน่ใจว่ามี Git

    ติดตั้ง Git หากยังไม่มี

  • ติดตั้ง OpenClaw

    • เมธอด npm (ค่าเริ่มต้น): ติดตั้ง npm แบบ global
    • เมธอด git: clone/update repo, ติดตั้ง deps ด้วย pnpm, build แล้วติดตั้ง wrapper ที่ ~/.local/bin/openclaw
  • งานหลังติดตั้ง

    • รีเฟรชบริการ Gateway ที่โหลดอยู่แบบพยายามให้ดีที่สุด (openclaw gateway install --force แล้ว restart)
    • เรียกใช้ openclaw doctor --non-interactive เมื่ออัปเกรดและติดตั้งแบบ git (พยายามให้ดีที่สุด)
    • พยายามเริ่มต้นใช้งานเมื่อเหมาะสม (มี TTY, ไม่ได้ปิดการเริ่มต้นใช้งาน และ bootstrap/config checks ผ่าน)
    • ตั้งค่าเริ่มต้น SHARP_IGNORE_GLOBAL_LIBVIPS=1
  • การตรวจหา source checkout

    หากเรียกใช้ภายใน OpenClaw checkout (package.json + pnpm-workspace.yaml) สคริปต์จะเสนอให้:

    • ใช้ checkout (git) หรือ
    • ใช้การติดตั้งแบบ global (npm)

    หากไม่มี TTY และไม่ได้ตั้งค่าเมธอดการติดตั้งไว้ จะใช้ค่าเริ่มต้นเป็น npm และแสดงคำเตือน

    สคริปต์จะออกด้วยโค้ด 2 สำหรับการเลือกเมธอดที่ไม่ถูกต้องหรือค่า --install-method ที่ไม่ถูกต้อง

    ตัวอย่าง (install.sh)

    ค่าเริ่มต้น

    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
    

    ข้ามการเริ่มต้นใช้งาน

    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboard
    

    ติดตั้งด้วย Git

    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git
    

    GitHub main ผ่าน npm

    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --version main
    

    Dry run

    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-run
    
    อ้างอิง flags
    Flag คำอธิบาย
    --install-method npm|git เลือกเมธอดการติดตั้ง (ค่าเริ่มต้น: npm) Alias: --method
    --npm ทางลัดสำหรับเมธอด npm
    --git ทางลัดสำหรับเมธอด git Alias: --github
    --version <version|dist-tag|spec> เวอร์ชัน npm, dist-tag หรือ package spec (ค่าเริ่มต้น: latest)
    --beta ใช้ beta dist-tag หากมี มิฉะนั้น fallback เป็น latest
    --git-dir <path> ไดเรกทอรี checkout (ค่าเริ่มต้น: ~/openclaw) Alias: --dir
    --no-git-update ข้าม git pull สำหรับ checkout ที่มีอยู่
    --no-prompt ปิด prompts
    --no-onboard ข้ามการเริ่มต้นใช้งาน
    --onboard เปิดใช้งานการเริ่มต้นใช้งาน
    --dry-run พิมพ์การกระทำโดยไม่ใช้การเปลี่ยนแปลง
    --verbose เปิดใช้งานเอาต์พุต debug (set -x, logs ระดับ notice ของ npm)
    --help แสดงวิธีใช้ (-h)
    อ้างอิงตัวแปรสภาพแวดล้อม
    ตัวแปร คำอธิบาย
    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
    OPENCLAW_NO_PROMPT=1 ปิด prompts
    OPENCLAW_NO_ONBOARD=1 ข้ามการเริ่มต้นใช้งาน
    OPENCLAW_DRY_RUN=1 โหมด dry run
    OPENCLAW_VERBOSE=1 โหมด debug
    OPENCLAW_NPM_LOGLEVEL=error|warn|notice ระดับ log ของ npm
    SHARP_IGNORE_GLOBAL_LIBVIPS=0|1 ควบคุมพฤติกรรม sharp/libvips (ค่าเริ่มต้น: 1)

    install-cli.sh

    ลำดับการทำงาน (install-cli.sh)

  • ติดตั้ง runtime Node ภายในเครื่อง

    ดาวน์โหลด tarball ของ Node LTS ที่รองรับและ pin ไว้ (เวอร์ชันฝังอยู่ในสคริปต์และอัปเดตแยกต่างหาก) ไปยัง <prefix>/tools/node-v<version> และตรวจสอบ SHA-256

  • ตรวจให้แน่ใจว่ามี Git

    หากไม่มี Git จะพยายามติดตั้งผ่าน apt/dnf/yum บน Linux หรือ Homebrew บน macOS

  • ติดตั้ง OpenClaw ใต้ prefix

    • เมธอด npm (ค่าเริ่มต้น): ติดตั้งใต้ prefix ด้วย npm แล้วเขียน wrapper ไปยัง <prefix>/bin/openclaw
    • เมธอด git: clones/updates checkout (ค่าเริ่มต้น ~/openclaw) และยังคงเขียน wrapper ไปยัง <prefix>/bin/openclaw
  • รีเฟรชบริการ Gateway ที่โหลดอยู่

    หากบริการ Gateway ถูกโหลดจาก prefix เดียวกันนั้นอยู่แล้ว สคริปต์จะเรียกใช้ openclaw gateway install --force แล้ว openclaw gateway restart และ probe สุขภาพของ Gateway แบบพยายามให้ดีที่สุด

  • ตัวอย่าง (install-cli.sh)

    ค่าเริ่มต้น

    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
    

    prefix + เวอร์ชันที่กำหนดเอง

    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --prefix /opt/openclaw --version latest
    

    ติดตั้งด้วย Git

    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --install-method git --git-dir ~/openclaw
    

    เอาต์พุต JSON สำหรับ automation

    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
    

    เรียกใช้การเริ่มต้นใช้งาน

    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboard
    
    อ้างอิง flags
    Flag คำอธิบาย
    --prefix <path> prefix การติดตั้ง (ค่าเริ่มต้น: ~/.openclaw)
    --install-method npm|git เลือกเมธอดการติดตั้ง (ค่าเริ่มต้น: npm) Alias: --method
    --npm ทางลัดสำหรับเมธอด npm
    --git, --github ทางลัดสำหรับเมธอด git
    --git-dir <path> ไดเรกทอรี git checkout (ค่าเริ่มต้น: ~/openclaw) Alias: --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 เป็น ~/.npm-global หาก prefix ปัจจุบันเขียนไม่ได้
    --help แสดงวิธีใช้ (-h)
    อ้างอิงตัวแปรสภาพแวดล้อม
    Variable คำอธิบาย
    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)

  • ตรวจสอบสภาพแวดล้อม PowerShell + Windows

    ต้องใช้ PowerShell 5+.

  • ตรวจสอบ Node.js 24 โดยค่าเริ่มต้น

    หากไม่มี จะพยายามติดตั้งผ่าน winget จากนั้น Chocolatey แล้วจึง Scoop. Node 22 LTS ซึ่งปัจจุบันคือ 22.14+ ยังคงรองรับเพื่อความเข้ากันได้.

  • ติดตั้ง OpenClaw

    • วิธี npm (ค่าเริ่มต้น): ติดตั้ง npm แบบโกลบอลโดยใช้ -Tag ที่เลือก เรียกใช้จากไดเรกทอรีชั่วคราวของตัวติดตั้งที่เขียนได้ เพื่อให้เชลล์ที่เปิดในโฟลเดอร์ที่มีการป้องกัน เช่น C:\ ยังคงทำงานได้
    • วิธี git: โคลน/อัปเดต repo, ติดตั้ง/บิลด์ด้วย pnpm และติดตั้ง wrapper ที่ %USERPROFILE%\.local\bin\openclaw.cmd
  • งานหลังติดตั้ง

    • เพิ่มไดเรกทอรี bin ที่จำเป็นลงใน PATH ของผู้ใช้เมื่อทำได้
    • รีเฟรชบริการ Gateway ที่โหลดอยู่แบบพยายามให้ดีที่สุด (openclaw gateway install --force จากนั้นรีสตาร์ต)
    • รัน openclaw doctor --non-interactive เมื่ออัปเกรดและติดตั้งด้วย git (พยายามให้ดีที่สุด)
  • จัดการความล้มเหลว

    การติดตั้งด้วย iwr ... | iex และ scriptblock จะรายงานข้อผิดพลาดแบบสิ้นสุดการทำงานโดยไม่ปิดเซสชัน PowerShell ปัจจุบัน การติดตั้งโดยตรงด้วย powershell -File / pwsh -File จะยังคงออกด้วยสถานะไม่เป็นศูนย์สำหรับระบบอัตโนมัติ.

  • ตัวอย่าง (install.ps1)

    ค่าเริ่มต้น

    iwr -useb https://openclaw.ai/install.ps1 | iex
    

    การติดตั้งด้วย Git

    & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git
    

    GitHub main ผ่าน npm

    & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag main
    

    ไดเรกทอรี git แบบกำหนดเอง

    & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -GitDir "C:\openclaw"
    

    ทดสอบแบบไม่ดำเนินการจริง

    & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -DryRun
    

    ติดตามดีบัก

    # install.ps1 has no dedicated -Verbose flag yet.
    Set-PSDebug -Trace 1
    & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
    Set-PSDebug -Trace 0
    
    อ้างอิงแฟล็ก
    แฟล็ก คำอธิบาย
    -InstallMethod npm|git วิธีติดตั้ง (ค่าเริ่มต้น: npm)
    -Tag <tag|version|spec> npm dist-tag, เวอร์ชัน หรือ package spec (ค่าเริ่มต้น: latest)
    -GitDir <path> ไดเรกทอรีเช็กเอาต์ (ค่าเริ่มต้น: %USERPROFILE%\openclaw)
    -NoOnboard ข้ามการเริ่มต้นใช้งาน
    -NoGitUpdate ข้าม git pull
    -DryRun พิมพ์เฉพาะการดำเนินการ
    อ้างอิงตัวแปรสภาพแวดล้อม
    ตัวแปร คำอธิบาย
    OPENCLAW_INSTALL_METHOD=git|npm วิธีติดตั้ง
    OPENCLAW_GIT_DIR=<path> ไดเรกทอรีเช็กเอาต์
    OPENCLAW_NO_ONBOARD=1 ข้ามการเริ่มต้นใช้งาน
    OPENCLAW_GIT_UPDATE=0 ปิดใช้งาน git pull
    OPENCLAW_DRY_RUN=1 โหมดทดสอบแบบไม่ดำเนินการจริง

    CI และระบบอัตโนมัติ

    ใช้แฟล็ก/ตัวแปรสภาพแวดล้อมแบบไม่โต้ตอบเพื่อให้การรันคาดการณ์ได้.

    install.sh (npm แบบไม่โต้ตอบ)

    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboard
    

    install.sh (git แบบไม่โต้ตอบ)

    OPENCLAW_INSTALL_METHOD=git OPENCLAW_NO_PROMPT=1 \
      curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
    

    install-cli.sh (JSON)

    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
    

    install.ps1 (ข้ามการเริ่มต้นใช้งาน)

    & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
    

    การแก้ไขปัญหา

    ทำไมจึงต้องใช้ Git?

    Git จำเป็นสำหรับวิธีติดตั้งแบบ git. สำหรับการติดตั้งแบบ npm ยังคงตรวจสอบ/ติดตั้ง Git เพื่อหลีกเลี่ยงความล้มเหลว spawn git ENOENT เมื่อ dependency ใช้ URL แบบ git.

    ทำไม npm จึงเจอ EACCES บน Linux?

    การตั้งค่า Linux บางแบบชี้ npm global prefix ไปยังพาธที่ root เป็นเจ้าของ. install.sh สามารถเปลี่ยน prefix เป็น ~/.npm-global และเพิ่ม PATH exports ต่อท้ายไฟล์ shell rc ได้ (เมื่อไฟล์เหล่านั้นมีอยู่).

    ปัญหา sharp/libvips

    สคริปต์ตั้งค่าเริ่มต้น SHARP_IGNORE_GLOBAL_LIBVIPS=1 เพื่อหลีกเลี่ยงไม่ให้ sharp บิลด์กับ libvips ของระบบ. หากต้องการ override:

    SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
    
    Windows: "npm error spawn git / ENOENT"

    ติดตั้ง Git for Windows, เปิด PowerShell ใหม่ แล้วรันตัวติดตั้งอีกครั้ง.

    Windows: "openclaw is not recognized"

    รัน npm config get prefix และเพิ่มไดเรกทอรีนั้นลงใน PATH ของผู้ใช้ (บน Windows ไม่ต้องมี suffix \bin) จากนั้นเปิด PowerShell ใหม่.

    Windows: วิธีดูเอาต์พุตตัวติดตั้งแบบละเอียด

    ขณะนี้ install.ps1 ยังไม่มีสวิตช์ -Verbose. ใช้ PowerShell tracing สำหรับการวินิจฉัยระดับสคริปต์:

    Set-PSDebug -Trace 1
    & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
    Set-PSDebug -Trace 0
    
    ไม่พบ openclaw หลังติดตั้ง

    โดยปกติเป็นปัญหา PATH. ดู การแก้ไขปัญหา Node.js.

    ที่เกี่ยวข้อง