安裝程式內部機制
OpenClaw 提供三個安裝程式腳本,從openclaw.ai 提供服務。
快速指令
- install.sh
- install-cli.sh
- install.ps1
如果安裝成功但在新終端機中找不到
openclaw,請參閱 Node.js 疑難排解。install.sh
流程(install.sh)
1
偵測 OS
支援 macOS 和 Linux(包括 WSL)。如果偵測到 macOS,若缺少 Homebrew 則安裝。
2
預設確保 Node.js 24
檢查 Node 版本,若需要則安裝 Node 24(macOS 上使用 Homebrew,Linux 上使用 apt/dnf/yum 的 NodeSource 設定腳本)。OpenClaw 仍支援 Node 22 LTS,目前為
22.16+,以確保相容性。3
確保 Git
若缺少 Git 則安裝。
4
安裝 OpenClaw
npm方法(預設):全域 npm 安裝git方法:clone/更新儲存庫,使用 pnpm 安裝相依項,建置,然後在~/.local/bin/openclaw安裝包裝程式
5
安裝後任務
- 在升級和 git 安裝時執行
openclaw doctor --non-interactive(盡力而為) - 在適當時嘗試引導程序(TTY 可用、引導程序未停用,且啟動/設定檢查通過)
- 預設
SHARP_IGNORE_GLOBAL_LIBVIPS=1
原始碼 checkout 偵測
如果在 OpenClaw checkout 內執行(package.json + pnpm-workspace.yaml),腳本提供:
- 使用 checkout(
git),或 - 使用全域安裝(
npm)
npm 並發出警告。
對於無效的方法選擇或無效的 --install-method 值,腳本以退出碼 2 退出。
範例(install.sh)
- 預設
- 跳過引導程序
- Git 安裝
- 乾跑(Dry run)
旗標參考
旗標參考
環境變數參考
環境變數參考
install-cli.sh
專為您希望將所有內容放在本機前置路徑(預設
~/.openclaw)且沒有系統 Node 相依項的環境設計。流程(install-cli.sh)
1
安裝本機 Node 執行期
下載已固定的受支援 Node tarball(目前預設
22.22.0)到 <prefix>/tools/node-v<version> 並驗證 SHA-256。2
確保 Git
若缺少 Git,嘗試在 Linux 上透過 apt/dnf/yum 或在 macOS 上透過 Homebrew 安裝。
3
在前置路徑下安裝 OpenClaw
使用 npm 以
--prefix <prefix> 安裝,然後將包裝程式寫入 <prefix>/bin/openclaw。範例(install-cli.sh)
- 預設
- 自訂前置路徑 + 版本
- 自動化 JSON 輸出
- 執行引導程序
旗標參考
旗標參考
環境變數參考
環境變數參考
install.ps1
流程(install.ps1)
1
確保 PowerShell + Windows 環境
需要 PowerShell 5+。
2
預設確保 Node.js 24
若缺少,嘗試透過 winget、然後 Chocolatey、然後 Scoop 安裝。Node 22 LTS,目前為
22.16+,仍支援以確保相容性。3
安裝 OpenClaw
npm方法(預設):使用選取的-Tag進行全域 npm 安裝git方法:clone/更新儲存庫,使用 pnpm 安裝/建置,並在%USERPROFILE%\.local\bin\openclaw.cmd安裝包裝程式
4
安裝後任務
在可能的情況下將所需的 bin 目錄新增到使用者 PATH,然後在升級和 git 安裝時執行
openclaw doctor --non-interactive(盡力而為)。範例(install.ps1)
- 預設
- Git 安裝
- 自訂 git 目錄
- 乾跑(Dry run)
- 除錯追蹤
旗標參考
旗標參考
環境變數參考
環境變數參考
如果使用
-InstallMethod git 且缺少 Git,腳本會退出並列印 Git for Windows 連結。CI 和自動化
對於可預測的執行,使用非互動式旗標/環境變數。- install.sh(非互動式 npm)
- install.sh(非互動式 git)
- install-cli.sh(JSON)
- install.ps1(跳過引導程序)
疑難排解
為什麼需要 Git?
為什麼需要 Git?
git 安裝方法需要 Git。對於 npm 安裝,仍然會檢查/安裝 Git,以避免相依項使用 git URL 時出現 spawn git ENOENT 失敗。為什麼 npm 在 Linux 上出現 EACCES?
為什麼 npm 在 Linux 上出現 EACCES?
某些 Linux 設定將 npm 全域前置路徑指向 root 擁有的路徑。
install.sh 可以將前置路徑切換到 ~/.npm-global 並在 shell rc 檔案存在時附加 PATH 匯出(如果那些檔案存在)。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(Windows 上不需要 \bin 後綴),然後重新開啟 PowerShell。Windows:如何取得詳細的安裝程式輸出
Windows:如何取得詳細的安裝程式輸出
install.ps1 目前未公開 -Verbose 切換。
使用 PowerShell 追蹤進行腳本層級診斷:安裝後找不到 openclaw
安裝後找不到 openclaw
通常是 PATH 問題。請參閱 Node.js 疑難排解。