الآليات الداخلية لبرنامج التثبيت
يشحن OpenClaw ثلاثة scripts للتثبيت، يتم تقديمها منopenclaw.ai.
| Script | المنصة | ما الذي يفعله |
|---|---|---|
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
- install-cli.sh
- install.ps1
إذا نجح التثبيت لكن لم يتم العثور على
openclaw في طرفية جديدة، فراجع استكشاف أخطاء Node.js وإصلاحها.install.sh
التدفق (install.sh)
اكتشاف نظام التشغيل
يدعم macOS وLinux (بما في ذلك WSL). وإذا تم اكتشاف macOS، فسيقوم بتثبيت Homebrew إذا كان مفقودًا.
ضمان Node.js 24 افتراضيًا
يتحقق من إصدار Node ويثبت Node 24 إذا لزم الأمر (Homebrew على macOS، وscripts إعداد NodeSource على Linux apt/dnf/yum). وما زال OpenClaw يدعم Node 22 LTS، حاليًا
22.14+، من أجل التوافق.تثبيت OpenClaw
- طريقة
npm(الافتراضية): تثبيت npm عالمي - طريقة
git: استنساخ/تحديث المستودع، وتثبيت التبعيات باستخدام pnpm، والبناء، ثم تثبيت wrapper في~/.local/bin/openclaw
مهام ما بعد التثبيت
- يحدّث خدمة gateway المحمّلة على أفضل جهد (
openclaw gateway install --force، ثم إعادة التشغيل) - يشغّل
openclaw doctor --non-interactiveعند الترقيات وتثبيتات git (على أفضل جهد) - يحاول تنفيذ الإعداد التفاعلي عند الاقتضاء (توفر TTY، وعدم تعطيل onboarding، واجتياز فحوصات bootstrap/config)
- يضبط
SHARP_IGNORE_GLOBAL_LIBVIPS=1افتراضيًا
اكتشاف source checkout
إذا تم تشغيله داخل OpenClaw checkout (package.json + pnpm-workspace.yaml)، فإن script يعرض:
- استخدام checkout (
git)، أو - استخدام التثبيت العالمي (
npm)
npm افتراضيًا ويعرض تحذيرًا.
يخرج script بالرمز 2 عند اختيار طريقة غير صالحة أو قيم --install-method غير صالحة.
أمثلة (install.sh)
- الافتراضي
- تخطي الإعداد التفاعلي
- تثبيت git
- GitHub main عبر npm
- تشغيل تجريبي
مرجع العلامات
مرجع العلامات
| العلامة | الوصف |
|---|---|
--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 | تخطي git pull لـ checkout الموجودة |
--no-prompt | تعطيل prompts |
--no-onboard | تخطي onboarding |
--onboard | تمكين onboarding |
--dry-run | طباعة الإجراءات من دون تطبيق التغييرات |
--verbose | تمكين إخراج التصحيح (set -x، وسجلات npm بمستوى notice) |
--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 | تخطي onboarding |
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
مصمم للبيئات التي تريد فيها كل شيء تحت بادئة محلية
(الافتراضي
~/.openclaw) ومن دون تبعية Node على مستوى النظام. يدعم تثبيتات npm
افتراضيًا، بالإضافة إلى تثبيتات git-checkout ضمن تدفق البادئة نفسه.التدفق (install-cli.sh)
تثبيت runtime محلي لـ Node
ينزّل tarball مثبتًا لإصدار Node LTS مدعوم (الإصدار مضمّن في script ويتم تحديثه بشكل مستقل) إلى
<prefix>/tools/node-v<version> ويتحقق من SHA-256.تثبيت OpenClaw تحت البادئة
- طريقة
npm(الافتراضية): تثبيت تحت البادئة باستخدام npm، ثم كتابة wrapper إلى<prefix>/bin/openclaw - طريقة
git: استنساخ/تحديث checkout (الافتراضي~/openclaw) ومع ذلك يكتب wrapper إلى<prefix>/bin/openclaw
أمثلة (install-cli.sh)
- الافتراضي
- بادئة مخصصة + إصدار
- تثبيت git
- إخراج JSON للأتمتة
- تشغيل الإعداد التفاعلي
مرجع العلامات
مرجع العلامات
| العلامة | الوصف |
|---|---|
--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 | تخطي onboarding (الافتراضي) |
--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> | دليل Git checkout لتثبيتات git |
OPENCLAW_GIT_UPDATE=0|1 | تبديل تحديثات git لـ checkouts الموجودة |
OPENCLAW_NO_ONBOARD=1 | تخطي onboarding |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice | مستوى سجل npm |
SHARP_IGNORE_GLOBAL_LIBVIPS=0|1 | التحكم في سلوك sharp/libvips (الافتراضي: 1) |
install.ps1
التدفق (install.ps1)
ضمان Node.js 24 افتراضيًا
إذا كان مفقودًا، يحاول التثبيت عبر winget، ثم Chocolatey، ثم Scoop. وما زال Node 22 LTS، حاليًا
22.14+، مدعومًا من أجل التوافق.تثبيت OpenClaw
- طريقة
npm(الافتراضية): تثبيت npm عالمي باستخدام-Tagالمحدد - طريقة
git: استنساخ/تحديث المستودع، والتثبيت/البناء باستخدام pnpm، وتثبيت wrapper في%USERPROFILE%\.local\bin\openclaw.cmd
أمثلة (install.ps1)
- الافتراضي
- تثبيت git
- GitHub main عبر npm
- دليل git مخصص
- تشغيل تجريبي
- أثر التصحيح
مرجع العلامات
مرجع العلامات
| العلامة | الوصف |
|---|---|
-InstallMethod npm|git | طريقة التثبيت (الافتراضي: npm) |
-Tag <tag|version|spec> | npm dist-tag أو إصدار أو package spec (الافتراضي: latest) |
-GitDir <path> | دليل checkout (الافتراضي: %USERPROFILE%\openclaw) |
-NoOnboard | تخطي onboarding |
-NoGitUpdate | تخطي git pull |
-DryRun | طباعة الإجراءات فقط |
مرجع متغيرات البيئة
مرجع متغيرات البيئة
| المتغير | الوصف |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm | طريقة التثبيت |
OPENCLAW_GIT_DIR=<path> | دليل checkout |
OPENCLAW_NO_ONBOARD=1 | تخطي onboarding |
OPENCLAW_GIT_UPDATE=0 | تعطيل git pull |
OPENCLAW_DRY_RUN=1 | وضع التشغيل التجريبي |
إذا تم استخدام
-InstallMethod git وكان Git مفقودًا، فإن script ينهي التنفيذ ويطبع رابط Git for Windows.CI والأتمتة
استخدم العلامات/متغيرات البيئة غير التفاعلية للحصول على عمليات تشغيل متوقعة.- install.sh (npm غير تفاعلي)
- install.sh (git غير تفاعلي)
- install-cli.sh (JSON)
- install.ps1 (تخطي onboarding)
استكشاف الأخطاء وإصلاحها
لماذا يُطلب Git؟
لماذا يُطلب Git؟
Git مطلوب لطريقة التثبيت
git. أما في تثبيتات npm، فما زال يتم التحقق من Git/تثبيته لتجنب أعطال spawn git ENOENT عندما تستخدم التبعيات عناوين URL خاصة بـ git.لماذا تواجه npm خطأ EACCES على Linux؟
لماذا تواجه npm خطأ EACCES على Linux؟
تشير بعض إعدادات Linux إلى أن البادئة العالمية لـ npm تقع في مسارات مملوكة لـ root. ويمكن لـ
install.sh تبديل البادئة إلى ~/.npm-global وإلحاق تصديرات PATH بملفات rc الخاصة بـ shell (عندما تكون هذه الملفات موجودة).مشكلات sharp/libvips
مشكلات sharp/libvips
تضبط scripts افتراضيًا
SHARP_IGNORE_GLOBAL_LIBVIPS=1 لتجنب بناء sharp مقابل libvips الخاص بالنظام. وللتجاوز:Windows: "npm error spawn git / ENOENT"
Windows: "npm error spawn git / ENOENT"
ثبّت Git for Windows، وأعد فتح PowerShell، ثم أعد تشغيل برنامج التثبيت.
Windows: "openclaw is not recognized"
Windows: "openclaw is not recognized"
شغّل
npm config get prefix وأضف ذلك الدليل إلى PATH الخاص بالمستخدم لديك (من دون لاحقة \bin على Windows)، ثم أعد فتح PowerShell.Windows: كيفية الحصول على إخراج verbose لبرنامج التثبيت
Windows: كيفية الحصول على إخراج verbose لبرنامج التثبيت
لا يوفّر
install.ps1 حاليًا مفتاح -Verbose.
استخدم تتبع PowerShell لتشخيصات على مستوى script:لم يتم العثور على openclaw بعد التثبيت
لم يتم العثور على openclaw بعد التثبيت
تكون المشكلة عادة في PATH. راجع استكشاف أخطاء Node.js وإصلاحها.