Install overview
سازوکارهای داخلی نصبکننده
OpenClaw سه اسکریپت نصب ارائه میکند که از openclaw.ai سرو میشوند.
| اسکریپت | پلتفرم | کاری که انجام میدهد |
|---|---|---|
install.sh |
macOS / Linux / WSL | در صورت نیاز Node را نصب میکند، OpenClaw را از طریق npm (پیشفرض) یا git نصب میکند، و میتواند راهاندازی اولیه را اجرا کند. |
install-cli.sh |
macOS / Linux / WSL | Node + OpenClaw را در یک پیشوند محلی (~/.openclaw) با حالتهای npm یا git checkout نصب میکند. نیازی به دسترسی ریشه نیست. |
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)
تشخیص سیستمعامل
از 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 - روش
git: شبیهسازی/بهروزرسانی مخزن، نصب وابستگیها با pnpm، ساخت، سپس نصب wrapper در~/.local/bin/openclaw
کارهای پس از نصب
- یک سرویس gateway بارگذاریشده را به بهترین شکل ممکن تازهسازی میکند (
openclaw gateway install --force، سپس راهاندازی مجدد) - در ارتقاها و نصبهای git،
openclaw doctor --non-interactiveرا اجرا میکند (بهترین تلاش) - در صورت مناسب بودن، راهاندازی اولیه را تلاش میکند (TTY در دسترس باشد، راهاندازی اولیه غیرفعال نشده باشد، و بررسیهای bootstrap/config موفق باشند)
- مقدار پیشفرض
SHARP_IGNORE_GLOBAL_LIBVIPS=1را تنظیم میکند
تشخیص checkout منبع
اگر داخل یک checkout از OpenClaw اجرا شود (package.json + pnpm-workspace.yaml)، اسکریپت این گزینهها را پیشنهاد میکند:
- استفاده از checkout (
git)، یا - استفاده از نصب سراسری (
npm)
اگر TTY در دسترس نباشد و هیچ روش نصبی تنظیم نشده باشد، بهصورت پیشفرض از npm استفاده میکند و هشدار میدهد.
اسکریپت برای انتخاب روش نامعتبر یا مقدارهای نامعتبر --install-method با کد 2 خارج میشود.
نمونهها (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
اجرای آزمایشی
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-run
مرجع پرچمها
| پرچم | توضیح |
|---|---|
--install-method npm|git |
انتخاب روش نصب (پیشفرض: npm). نام مستعار: --method |
--npm |
میانبر برای روش npm |
--git |
میانبر برای روش git. نام مستعار: --github |
--version <version|dist-tag|spec> |
نسخه npm، dist-tag، یا مشخصات بسته (پیشفرض: latest) |
--beta |
در صورت وجود از beta dist-tag استفاده میکند، وگرنه به latest برمیگردد |
--git-dir <path> |
دایرکتوری checkout (پیشفرض: ~/openclaw). نام مستعار: --dir |
--no-git-update |
برای checkout موجود، git pull را رد میکند |
--no-prompt |
اعلانها را غیرفعال میکند |
--no-onboard |
راهاندازی اولیه را رد میکند |
--onboard |
راهاندازی اولیه را فعال میکند |
--dry-run |
کنشها را بدون اعمال تغییرات چاپ میکند |
--verbose |
خروجی اشکالزدایی را فعال میکند (set -x، لاگهای سطح notice در npm) |
--help |
راهنمای استفاده را نشان میدهد (-h) |
مرجع متغیرهای محیطی
| متغیر | توضیح |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm |
روش نصب |
OPENCLAW_VERSION=latest|next|main|<semver>|<spec> |
نسخه npm، dist-tag، یا مشخصات بسته |
OPENCLAW_BETA=0|1 |
استفاده از beta در صورت وجود |
OPENCLAW_GIT_DIR=<path> |
دایرکتوری checkout |
OPENCLAW_GIT_UPDATE=0|1 |
تغییر وضعیت بهروزرسانیهای git |
OPENCLAW_NO_PROMPT=1 |
غیرفعال کردن اعلانها |
OPENCLAW_NO_ONBOARD=1 |
رد کردن راهاندازی اولیه |
OPENCLAW_DRY_RUN=1 |
حالت اجرای آزمایشی |
OPENCLAW_VERBOSE=1 |
حالت اشکالزدایی |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
سطح لاگ npm |
SHARP_IGNORE_GLOBAL_LIBVIPS=0|1 |
کنترل رفتار sharp/libvips (پیشفرض: 1) |
install-cli.sh
جریان (install-cli.sh)
نصب runtime محلی Node
یک آرشیو tarball پینشده و پشتیبانیشده Node LTS را (نسخه در اسکریپت جاسازی شده و مستقل بهروزرسانی میشود) در <prefix>/tools/node-v<version> دانلود میکند و SHA-256 را تأیید میکند.
اطمینان از وجود Git
اگر Git وجود نداشته باشد، تلاش میکند آن را از طریق apt/dnf/yum روی Linux یا Homebrew روی macOS نصب کند.
نصب OpenClaw زیر پیشوند
- روش
npm(پیشفرض): زیر پیشوند با npm نصب میکند، سپس wrapper را در<prefix>/bin/openclawمینویسد - روش
git: یک checkout را شبیهسازی/بهروزرسانی میکند (پیشفرض~/openclaw) و همچنان wrapper را در<prefix>/bin/openclawمینویسد
تازهسازی سرویس gateway بارگذاریشده
اگر یک سرویس gateway از همان پیشوند از قبل بارگذاری شده باشد، اسکریپت
openclaw gateway install --force، سپس openclaw gateway restart را اجرا میکند، و
سلامت gateway را به بهترین شکل ممکن بررسی میکند.
نمونهها (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 -- --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 برای خودکارسازی
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
مرجع پرچمها
| پرچم | توضیح |
|---|---|
--prefix <path> |
پیشوند نصب (پیشفرض: ~/.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، اگر پیشوند فعلی قابل نوشتن نیست، پیشوند npm را به ~/.npm-global اجبار میکند |
--help |
راهنمای استفاده را نشان میدهد (-h) |
مرجع متغیرهای محیطی
| متغیر | توضیح |
|---|---|
OPENCLAW_PREFIX=<path> |
پیشوند نصب |
OPENCLAW_INSTALL_METHOD=git|npm |
روش نصب |
OPENCLAW_VERSION=<ver> |
نسخه OpenClaw یا dist-tag |
OPENCLAW_NODE_VERSION=<ver> |
نسخه Node |
OPENCLAW_GIT_DIR=<path> |
دایرکتوری checkout Git برای نصبهای git |
OPENCLAW_GIT_UPDATE=0|1 |
روشن/خاموش کردن بهروزرسانیهای git برای checkoutهای موجود |
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: clone/update مخزن، نصب/ساخت با pnpm، و نصب wrapper در%USERPROFILE%\.local\bin\openclaw.cmd
کارهای پس از نصب
- در صورت امکان، دایرکتوری bin لازم را به PATH کاربر اضافه میکند
- یک سرویس Gateway بارگذاریشده را بهصورت best-effort تازهسازی میکند (
openclaw gateway install --force، سپس راهاندازی مجدد) - هنگام ارتقاها و نصبهای git،
openclaw doctor --non-interactiveرا اجرا میکند (best effort)
مدیریت شکستها
نصبهای iwr ... | iex و scriptblock یک خطای terminating گزارش میکنند بدون اینکه جلسه PowerShell فعلی بسته شود. نصبهای مستقیم powershell -File / pwsh -File همچنان برای automation با کد غیرصفر خارج میشوند.
نمونهها (install.ps1)
پیشفرض
iwr -useb https://openclaw.ai/install.ps1 | iex
نصب Git
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git
شاخه main در GitHub از طریق 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
مرجع flagها
| Flag | توضیح |
|---|---|
-InstallMethod npm|git |
روش نصب (پیشفرض: npm) |
-Tag <tag|version|spec> |
dist-tag، نسخه، یا package spec برای npm (پیشفرض: latest) |
-GitDir <path> |
دایرکتوری checkout (پیشفرض: %USERPROFILE%\openclaw) |
-NoOnboard |
رد کردن راهاندازی اولیه |
-NoGitUpdate |
رد کردن git pull |
-DryRun |
فقط چاپ کارها |
مرجع متغیرهای محیطی
| متغیر | توضیح |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm |
روش نصب |
OPENCLAW_GIT_DIR=<path> |
دایرکتوری checkout |
OPENCLAW_NO_ONBOARD=1 |
رد کردن راهاندازی اولیه |
OPENCLAW_GIT_UPDATE=0 |
غیرفعال کردن git pull |
OPENCLAW_DRY_RUN=1 |
حالت اجرای آزمایشی |
CI و automation
برای اجراهای قابل پیشبینی از flagها/env vars غیرتعاملی استفاده کنید.
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 همچنان بررسی/نصب میشود تا وقتی وابستگیها از URLهای git استفاده میکنند، از شکستهای spawn git ENOENT جلوگیری شود.
چرا npm در Linux با EACCES روبهرو میشود؟
بعضی تنظیمات Linux پیشوند سراسری npm را به مسیرهای متعلق به root اشاره میدهند. install.sh میتواند پیشوند را به ~/.npm-global تغییر دهد و exportهای PATH را به فایلهای 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 پسوند \bin لازم نیست)، سپس PowerShell را دوباره باز کنید.
Windows: چگونه خروجی پرجزئیات نصبکننده را بگیرید
install.ps1 در حال حاضر switch به نام -Verbose ارائه نمیکند.
برای diagnostics در سطح اسکریپت از ردیابی PowerShell استفاده کنید:
Set-PSDebug -Trace 1
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
Set-PSDebug -Trace 0
openclaw پس از نصب پیدا نشد
معمولاً مشکل PATH است. عیبیابی Node.js را ببینید.