Install overview
جزئیات داخلی نصبکننده
OpenClaw سه اسکریپت نصب را ارائه میکند که از openclaw.ai سرو میشوند.
| اسکریپت | پلتفرم | کاری که انجام میدهد |
|---|---|---|
install.sh |
macOS / Linux / WSL | در صورت نیاز Node را نصب میکند، OpenClaw را از طریق npm (پیشفرض) یا git نصب میکند، و میتواند راهاندازی اولیه را اجرا کند. |
install-cli.sh |
macOS / Linux / WSL | Node و OpenClaw را با حالتهای npm یا git checkout در یک پیشوند محلی (~/.openclaw) نصب میکند. دسترسی root لازم نیست. |
install.ps1 |
Windows (PowerShell) | در صورت نیاز Node را نصب میکند، OpenClaw را از طریق npm (پیشفرض) یا git نصب میکند، و میتواند راهاندازی اولیه را اجرا کند. |
دستورهای سریع
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)
تشخیص سیستمعامل
از macOS و Linux (از جمله WSL) پشتیبانی میکند.
اطمینان از Node.js 24 بهصورت پیشفرض
نسخه Node را بررسی میکند و در صورت نیاز Node 24 را نصب میکند (Homebrew روی macOS، اسکریپتهای راهاندازی NodeSource روی Linux apt/dnf/yum). روی macOS، Homebrew فقط زمانی نصب میشود که نصبکننده برای Node یا Git به آن نیاز داشته باشد. OpenClaw همچنان برای سازگاری از Node 22 LTS، در حال حاضر 22.19+، پشتیبانی میکند.
روی Alpine/musl Linux، نصبکننده بهجای NodeSource از بستههای apk استفاده میکند؛ مخازن پیکربندیشده Alpine باید Node 22.19+ را فراهم کنند (در زمان نگارش، Alpine 3.21 یا جدیدتر).
اطمینان از Git
اگر Git موجود نباشد، آن را با مدیر بسته تشخیصدادهشده نصب میکند، از جمله Homebrew روی macOS و apk روی Alpine.
نصب OpenClaw
- روش
npm(پیشفرض): نصب سراسری npm - روش
git: clone/update کردن repo، نصب وابستگیها با pnpm، build، سپس نصب wrapper در~/.local/bin/openclaw
کارهای پس از نصب
- یک سرویس Gateway بارگذاریشده را بهصورت best-effort تازهسازی میکند (
openclaw gateway install --force، سپس restart) - در ارتقاها و نصبهای git،
openclaw doctor --non-interactiveرا اجرا میکند (best effort) - در صورت مناسب بودن، راهاندازی اولیه را امتحان میکند (TTY در دسترس باشد، راهاندازی اولیه غیرفعال نشده باشد، و بررسیهای bootstrap/config موفق باشند)
تشخیص 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 gitCheckout شاخه main در GitHub
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git --version mainاجرای آزمایشی
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-runمرجع flagها
| Flag | توضیح |
|---|---|
--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 |
رد کردن git pull برای checkout موجود |
--no-prompt |
غیرفعال کردن promptها |
--no-onboard |
رد کردن راهاندازی اولیه |
--onboard |
فعال کردن راهاندازی اولیه |
--dry-run |
چاپ کارها بدون اعمال تغییرات |
--verbose |
فعال کردن خروجی اشکالزدایی (set -x، لاگهای npm در سطح notice) |
--help |
نمایش شیوه استفاده (-h) |
مرجع متغیرهای محیطی
| متغیر | توضیح |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm |
روش نصب |
OPENCLAW_VERSION=latest|next|<semver>|<spec> |
نسخه npm، dist-tag، یا مشخصات بسته |
OPENCLAW_BETA=0|1 |
استفاده از beta اگر موجود باشد |
OPENCLAW_HOME=<path> |
دایرکتوری پایه برای وضعیت OpenClaw و مسیرهای پیشفرض git/onboarding |
OPENCLAW_GIT_DIR=<path> |
دایرکتوری checkout |
OPENCLAW_GIT_UPDATE=0|1 |
تغییر وضعیت بهروزرسانیهای git |
OPENCLAW_NO_PROMPT=1 |
غیرفعال کردن promptها |
OPENCLAW_NO_ONBOARD=1 |
رد کردن راهاندازی اولیه |
OPENCLAW_DRY_RUN=1 |
حالت اجرای آزمایشی |
OPENCLAW_VERBOSE=1 |
حالت اشکالزدایی |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
سطح لاگ npm |
install-cli.sh
جریان (install-cli.sh)
نصب runtime محلی Node
یک tarball پینشده و پشتیبانیشده Node LTS را (نسخه درون اسکریپت جاسازی شده و مستقل بهروزرسانی میشود) در <prefix>/tools/node-v<version> دانلود میکند و SHA-256 را بررسی میکند.
روی Alpine/musl Linux، جایی که Node برای runtime پینشده tarballهای سازگار منتشر نمیکند، nodejs و npm را با apk نصب میکند و آن runtime را به مسیر wrapper پیشوند لینک میکند. مخازن Alpine باید Node 22.19+ را فراهم کنند؛ اگر مخازن قدیمیتر فقط Node 20 یا 21 را ارائه میدهند، از Alpine 3.21 یا جدیدتر استفاده کنید.
اطمینان از Git
اگر Git موجود نباشد، نصب از طریق apt/dnf/yum/apk روی Linux یا Homebrew روی macOS را امتحان میکند.
نصب OpenClaw زیر پیشوند
- روش
npm(پیشفرض): زیر پیشوند با npm نصب میکند، سپس wrapper را در<prefix>/bin/openclawمینویسد - روش
git: یک checkout را clone/update میکند (پیشفرض~/openclaw) و همچنان wrapper را در<prefix>/bin/openclawمینویسد
تازهسازی سرویس Gateway بارگذاریشده
اگر یک سرویس Gateway از همان پیشوند از قبل بارگذاری شده باشد، اسکریپت
openclaw gateway install --force، سپس openclaw gateway restart را اجرا میکند، و
سلامت Gateway را بهصورت best-effort بررسی میکند.
نمونهها (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 برای 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مرجع flagها
| گزینه | توضیح |
|---|---|
--prefix <path> |
پیشوند نصب (پیشفرض: ~/.openclaw) |
--install-method npm|git |
روش نصب را انتخاب کنید (پیشفرض: npm). نام مستعار: --method |
--npm |
میانبر برای روش npm |
--git, --github |
میانبر برای روش git |
--git-dir <path> |
دایرکتوری checkout گیت (پیشفرض: ~/openclaw). نام مستعار: --dir |
--version <ver> |
نسخه OpenClaw یا برچسب توزیع (پیشفرض: latest) |
--node-version <ver> |
نسخه Node (پیشفرض: 22.22.0) |
--json |
رویدادهای NDJSON را منتشر کنید |
--onboard |
پس از نصب، openclaw onboard را اجرا کنید |
--no-onboard |
راهاندازی اولیه را رد کنید (پیشفرض) |
--set-npm-prefix |
در لینوکس، اگر پیشوند فعلی قابل نوشتن نیست، پیشوند npm را به ~/.npm-global اجبار کنید |
--help |
نمایش روش استفاده (-h) |
Environment variables reference
| متغیر | توضیح |
|---|---|
OPENCLAW_PREFIX=<path> |
پیشوند نصب |
OPENCLAW_INSTALL_METHOD=git|npm |
روش نصب |
OPENCLAW_VERSION=<ver> |
نسخه OpenClaw یا برچسب توزیع |
OPENCLAW_NODE_VERSION=<ver> |
نسخه Node |
OPENCLAW_HOME=<path> |
دایرکتوری پایه برای وضعیت OpenClaw و مسیرهای پیشفرض git/راهاندازی اولیه |
OPENCLAW_GIT_DIR=<path> |
دایرکتوری checkout گیت برای نصبهای git |
OPENCLAW_GIT_UPDATE=0|1 |
روشن/خاموش کردن بهروزرسانیهای git برای checkoutهای موجود |
OPENCLAW_NO_ONBOARD=1 |
رد کردن راهاندازی اولیه |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
سطح لاگ npm |
install.ps1
جریان (install.ps1)
Ensure PowerShell + Windows environment
به PowerShell 5+ نیاز دارد.
Ensure Node.js 24 by default
اگر موجود نباشد، ابتدا نصب از طریق winget، سپس Chocolatey و سپس Scoop را امتحان میکند. اگر هیچ مدیر بستهای در دسترس نباشد، اسکریپت فایل zip رسمی Node.js برای Windows را در %LOCALAPPDATA%\OpenClaw\deps\portable-node دانلود میکند و آن را به PATH فرایند فعلی و کاربر اضافه میکند. Node 22 LTS، در حال حاضر 22.19+، همچنان برای سازگاری پشتیبانی میشود.
Install OpenClaw
- روش
npm(پیشفرض): نصب سراسری npm با استفاده از-Tagانتخابشده، اجراشده از یک دایرکتوری موقت نصبکننده قابل نوشتن تا پوستههایی که در پوشههای محافظتشده مانندC:\باز شدهاند همچنان کار کنند - روش
git: clone/update مخزن، install/build با pnpm، و نصب wrapper در%USERPROFILE%\.local\bin\openclaw.cmd. اگر Git موجود نباشد، اسکریپت MinGit محلی کاربر را زیر%LOCALAPPDATA%\OpenClaw\deps\portable-gitراهاندازی میکند و آن را به PATH فرایند فعلی و کاربر اضافه میکند.
Post-install tasks
- در صورت امکان، دایرکتوری bin موردنیاز را به PATH کاربر اضافه میکند
- سرویس gateway بارگذاریشده را بهصورت بهترین تلاش تازهسازی میکند (
openclaw gateway install --force، سپس راهاندازی مجدد) - در ارتقاها و نصبهای git،
openclaw doctor --non-interactiveرا اجرا میکند (بهترین تلاش)
Handle failures
نصبهای iwr ... | iex و scriptblock بدون بستن نشست فعلی PowerShell یک خطای خاتمهدهنده گزارش میکنند. نصبهای مستقیم powershell -File / pwsh -File همچنان برای اتوماسیون با کد غیرصفر خارج میشوند.
نمونهها (install.ps1)
Default
iwr -useb https://openclaw.ai/install.ps1 | iexGit install
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod gitGitHub main checkout
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -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 has no dedicated -Verbose flag yet.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، نسخه، یا مشخصات بسته (پیشفرض: latest) |
-GitDir <path> |
دایرکتوری checkout (پیشفرض: %USERPROFILE%\openclaw) |
-NoOnboard |
رد کردن راهاندازی اولیه |
-NoGitUpdate |
رد کردن git pull |
-DryRun |
فقط چاپ اقدامات |
Environment variables reference
| متغیر | توضیح |
|---|---|
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 و اتوماسیون
برای اجراهای قابل پیشبینی، از گزینهها/متغیرهای محیطی غیرتعاملی استفاده کنید.
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های git استفاده میکنند، از خطاهای spawn git ENOENT جلوگیری شود.
Why does npm hit EACCES on Linux?
بعضی تنظیمات لینوکس پیشوند سراسری npm را به مسیرهای متعلق به root اشاره میدهند. install.sh میتواند پیشوند را به ~/.npm-global تغییر دهد و exportهای PATH را به فایلهای rc پوسته اضافه کند (وقتی آن فایلها وجود داشته باشند).
Windows: "npm error spawn git / ENOENT"
نصبکننده را دوباره اجرا کنید تا بتواند MinGit محلی کاربر را راهاندازی کند، یا 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 ارائه نمیکند.
برای عیبیابی در سطح اسکریپت، از tracing در 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 را ببینید.