2026 年以 npm i -g 安裝 OpenClaw,日誌裡最常見的是 sharp 或其他原生相依模組在「下載預編譯失敗 → 改走本機編譯」之間來回。下文依成因 → SHARP_IGNORE_GLOBAL_LIBVIPS → 官方 install.sh 與 install-cli.sh → 六地雲 Mac 固化 → openclaw doctor 驗收排好順序,跟著做可少掉一半無效重試。
一、sharp 為何會「卡住」:不一定是網路慢
sharp 會優先找與目前 Node、macOS、CPU 架構相符的預編譯二進位;對不上就退回原始碼編譯,此時會牽涉 libvips、C++ 工具鏈與磁碟 I/O。Apple Silicon 若混到 arch -x86_64 或 Rosetta 底下的 Node,架構不一致也會變成無止境 rebuild。先把 node -p process.arch 與 uname -m 對齊,再談其他手段。
二、SHARP_IGNORE_GLOBAL_LIBVIPS=1:何時最省事
若曾用 Homebrew 裝過全域 libvips,sharp 有時會嘗試鏈結系統函式庫,版本與 sharp 綁定矩陣不一致就會編譯失敗或執行期 ABI 異常。在只裝 OpenClaw CLI的情境,把環境變數設為 1,讓 sharp 改走附帶/預編譯綁定,通常比硬對 brew 版本更快止血。若您刻意要共用系統函式庫,應改為鎖定 brew 版本並查 sharp 相容表,而不是一直清快取。
三、install.sh、install-cli.sh 與 npm 全域:怎麼選才不互相打架
install.sh適合新機或雲 Mac 映像:依官方順序拉相依項目,較少「缺 CLT、全域目錄無權限」這類落差,適合寫進維運 playbook。install-cli.sh(若發行版提供)較偏只鋪 CLI 與約定前置路徑,適合您已用 nvm/fnm 固定 Node.js 22、只想避開 npm 全域目錄權限坑。npm -g最有彈性也最吃紀律:統一 npm prefix、清掉 PATH 裡舊的 openclaw、裝完立刻 which openclaw 與文件交叉確認。三條路不要混半套,擇一為主,改完再重啟相關行程。
四、新加坡/日本/韓國/香港/美東/美西:雲 Mac 固化環境備忘
多區域Mac mini M4並行時,把下列項目寫進同一套 Ansible/shell,可避免「東京機過了、美西機又掛」:Node 22 路徑、npm 全域前置目錄可寫、可選的 SHARP_IGNORE_GLOBAL_LIBVIPS、Xcode CLT是否齊備、閘道將監聽的連接埠與防火牆。主控台宜以離主要互動團隊最近的節點為主,跨區成員再以 Tailscale 或 SSH 跳板補齊;併聯機位時留意映像檔磁碟水位與日誌卷,避免 sharp 編譯把根分割區塞滿。
五、openclaw doctor 一頁驗收 FAQ(依序勾選)
裝完別急著上線商務流程,先把 doctor 當門檻,下列每一項都應是「明確通過或有文件化的例外」。
- Node 大版本是否符合官方要求(現行多為 22),且
sudo與一般使用者底下版本一致? which openclaw是否指向您剛裝的那條前置路徑,沒有殘留舊路徑?- 若日誌仍提到 libvips,暫加
SHARP_IGNORE_GLOBAL_LIBVIPS=1再跑一輪安裝/doctor 是否排除? - 設定目錄與工作目錄是否與文件一致,plist 或 systemd/launchd 是否注入相同環境變數?
- 閘道連接埠與健康檢查在本機與(若有)代理鏈路上是否一致放行?
更完整的 Node 22、install.sh 與 npm、閘道 1008/channels 串聯排查見 OpenClaw 從零安裝到穩定在線 FAQ; 若想繞過本機原生相依模組、用容器釘死執行環境,可對照 OpenClaw Docker Compose 部署與排錯 一次寫清映像與卷策略。
在 vpszap 雲上,這一切更簡單
要固化 Node、sharp 與 OpenClaw CLI,最適合落在獨享實體 M4 Mac mini:無虛擬化搶資源;約五分鐘開通,SSH 與 VNC一併交付,圖形介面裡點一次同意 Xcode 條款也比純容器直覺;按天/週/月/季計費、無長約;新加坡、東京、首爾、香港、美西、美東多節點可把環境放在離團隊更近的延遲圈內。
若您要把本文的裝機腳本與 doctor 門檻跑在貼近正式環境的 macOS 上,vpszap 雲端 Mac mini 是試錯成本很低的起點。