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. لا يتطلب صلاحيات 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، يستخدم المثبّت حزم apk بدلًا من NodeSource؛ يجب أن توفّر مستودعات Alpine المضبوطة Node 22.19+ (Alpine 3.21 أو أحدث وقت كتابة هذا النص).
ضمان Git
يثبّت Git إذا كان مفقودًا باستخدام مدير الحزم المكتشف، بما في ذلك Homebrew على macOS وapk على Alpine.
تثبيت OpenClaw
- طريقة
npm(افتراضيًا): تثبيت npm عام - طريقة
git: استنساخ/تحديث المستودع، وتثبيت الاعتماديات باستخدام pnpm، والبناء، ثم تثبيت الغلاف في~/.local/bin/openclaw
مهام ما بعد التثبيت
- يحدّث خدمة gateway محمّلة بأفضل جهد (
openclaw gateway install --force، ثم إعادة التشغيل) - يشغّل
openclaw doctor --non-interactiveعند الترقيات وتثبيتات git (بأفضل جهد) - يحاول تشغيل الإعداد الأولي عند ملاءمة ذلك (توفر TTY، وعدم تعطيل الإعداد الأولي، ونجاح فحوصات bootstrap/config)
اكتشاف checkout المصدر
إذا شُغّل داخل checkout لـ OpenClaw (package.json + pnpm-workspace.yaml)، يقدّم السكربت:
- استخدام checkout (
git)، أو - استخدام التثبيت العام (
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 gitGitHub main checkout
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مرجع العلامات
| العلامة | الوصف |
|---|---|
--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 |
تعطيل المطالبات |
--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/الإعداد الأولي الافتراضية |
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 |
install-cli.sh
التدفق (install-cli.sh)
تثبيت وقت تشغيل Node محلي
ينزّل أرشيف tarball مثبتًا ومدعومًا من Node LTS (الإصدار مضمن في السكربت ويُحدّث بشكل مستقل) إلى <prefix>/tools/node-v<version> ويتحقق من SHA-256.
على Alpine/musl Linux، حيث لا ينشر Node أرشيفات tarball متوافقة مع وقت التشغيل المثبت، يثبّت nodejs وnpm باستخدام apk ويربط وقت التشغيل هذا بمسار غلاف البادئة. يجب أن توفّر مستودعات Alpine إصدار Node 22.19+؛ استخدم Alpine 3.21 أو أحدث إذا كانت المستودعات الأقدم لا توفّر إلا Node 20 أو 21.
ضمان Git
إذا كان Git مفقودًا، يحاول تثبيته عبر apt/dnf/yum/apk على Linux أو Homebrew على macOS.
تثبيت OpenClaw تحت البادئة
- طريقة
npm(افتراضيًا): تثبّت تحت البادئة باستخدام npm، ثم تكتب الغلاف إلى<prefix>/bin/openclaw - طريقة
git: تستنسخ/تحدّث checkout (افتراضيًا~/openclaw) ولا تزال تكتب الغلاف إلى<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 (الافتراضي: ~/openclaw). الاسم البديل: --dir |
--version <ver> |
إصدار OpenClaw أو وسم التوزيع (الافتراضي: 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 أو وسم التوزيع |
OPENCLAW_NODE_VERSION=<ver> |
إصدار Node |
OPENCLAW_HOME=<path> |
الدليل الأساسي لحالة OpenClaw ومسارات git/الإعداد الأولي الافتراضية |
OPENCLAW_GIT_DIR=<path> |
دليل سحب Git لتثبيتات git |
OPENCLAW_GIT_UPDATE=0|1 |
تبديل تحديثات git للسحوبات الموجودة |
OPENCLAW_NO_ONBOARD=1 |
تخطي الإعداد الأولي |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
مستوى سجل npm |
install.ps1
التدفق (install.ps1)
التأكد من بيئة PowerShell + Windows
يتطلب PowerShell 5+.
التأكد من Node.js 24 افتراضيا
إذا كان مفقودا، يحاول التثبيت عبر winget، ثم Chocolatey، ثم Scoop. إذا لم يكن أي مدير حزم متاحا، ينزل السكربت ملف zip الرسمي لـ Node.js على Windows إلى %LOCALAPPDATA%\OpenClaw\deps\portable-node ويضيفه إلى PATH للعملية الحالية والمستخدم. يظل Node 22 LTS، حاليا 22.19+، مدعوما للتوافق.
تثبيت OpenClaw
- طريقة
npm(الافتراضية): تثبيت npm عالمي باستخدام-Tagالمحدد، ويشغل من دليل مؤقت قابل للكتابة للمثبت لكي تظل الأصداف المفتوحة في مجلدات محمية مثلC:\تعمل - طريقة
git: استنساخ/تحديث المستودع، التثبيت/البناء باستخدام pnpm، وتثبيت المغلف في%USERPROFILE%\.local\bin\openclaw.cmd. إذا كان Git مفقودا، يمهد السكربت MinGit محليا للمستخدم ضمن%LOCALAPPDATA%\OpenClaw\deps\portable-gitويضيفه إلى PATH للعملية الحالية والمستخدم.
مهام ما بعد التثبيت
- يضيف دليل 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
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -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))) -NoOnboardSet-PSDebug -Trace 0مرجع الأعلام
| العلم | الوصف |
|---|---|
-InstallMethod npm|git |
طريقة التثبيت (الافتراضي: npm) |
-Tag <tag|version|spec> |
وسم توزيع npm أو الإصدار أو مواصفة الحزمة (الافتراضي: 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-onboardinstall.sh (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 (تخطي الإعداد الأولي)
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardاستكشاف الأخطاء وإصلاحها
لماذا Git مطلوب؟
Git مطلوب لطريقة تثبيت git. بالنسبة إلى تثبيتات npm، لا يزال Git يُفحص/يُثبت لتجنب حالات فشل spawn git ENOENT عندما تستخدم التبعيات عناوين URL من git.
لماذا يصادف npm خطأ EACCES على Linux؟
تشير بعض إعدادات Linux ببادئة npm العالمية إلى مسارات مملوكة للمستخدم root. يمكن لـ install.sh تبديل البادئة إلى ~/.npm-global وإلحاق تصديرات PATH بملفات rc الخاصة بالصدفة (عندما تكون تلك الملفات موجودة).
Windows: "npm error spawn git / ENOENT"
أعد تشغيل المثبت لكي يتمكن من تمهيد MinGit محليا للمستخدم، أو ثبت Git for Windows وأعد فتح PowerShell.
Windows: "openclaw is not recognized"
شغل npm config get prefix وأضف ذلك الدليل إلى PATH المستخدم لديك (لا حاجة إلى لاحقة \bin على Windows)، ثم أعد فتح PowerShell.
Windows: كيفية الحصول على خرج مثبت مفصل
لا يعرض install.ps1 حاليا مفتاح -Verbose.
استخدم تتبع PowerShell لتشخيصات مستوى السكربت:
Set-PSDebug -Trace 1& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardSet-PSDebug -Trace 0openclaw غير موجود بعد التثبيت
عادة ما تكون المشكلة متعلقة بـ PATH. راجع استكشاف أخطاء Node.js وإصلاحها.