首页 教程 分类 Skills下载 关于
ZH EN JA KO
问题排查

OpenClaw安装报错:Node.js版本不兼容解决方案

· 5 分钟

问题描述

在安装 OpenClaw 时,你可能会遇到类似以下的错误信息:

npm ERR! engine Unsupported engine
npm ERR! notsup Not compatible with your version of node/npm: openclaw@latest
npm ERR! notsup Required: {"node":">=22.0.0"}
npm ERR! notsup Actual:  {"node":"18.17.1","npm":"9.6.7"}

或者在运行时出现:

SyntaxError: Unexpected token '??='
    at wrapSafe (internal/modules/cjs/loader.js:915:16)

这些错误都指向同一个根本原因:你的 Node.js 版本低于 OpenClaw 所要求的最低版本 22.0.0。OpenClaw 使用了大量 Node.js 22+ 才支持的语言特性,包括原生 WebSocket、import attributes 以及新的模块解析算法,因此旧版本无法运行。

诊断步骤

首先确认当前安装的 Node.js 版本:

node -v

如果输出低于 v22.0.0,例如 v18.17.1v20.11.0,那么就需要升级。

同时检查 npm 版本,确保它与 Node.js 22 配套:

npm -v

Node.js 22 自带的 npm 版本为 10.x 或更高。如果你的 npm 版本低于 10,也可能导致安装过程出现异常。

解决方案

方案一:使用 nvm 切换版本(推荐)

nvm(Node Version Manager)是管理多版本 Node.js 的最佳工具。如果尚未安装 nvm,先安装它。

Linux / macOS:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source ~/.bashrc

Windows:

Windows 用户应使用 nvm-windows,从其 GitHub Releases 页面下载安装包。

安装 nvm 后,安装并切换到 Node.js 22:

nvm install 22
nvm use 22
nvm alias default 22

验证版本已切换:

node -v
# 应输出 v22.x.x

npm -v
# 应输出 10.x.x

然后重新安装 OpenClaw:

npm install -g openclaw

方案二:使用 fnm 替代 nvm

fnm(Fast Node Manager)是一个更快的 Node.js 版本管理工具,用 Rust 编写:

# macOS / Linux
curl -fsSL https://fnm.vercel.app/install | bash

# Windows (PowerShell)
winget install Schniz.fnm

安装后:

fnm install 22
fnm use 22
fnm default 22

方案三:直接下载安装最新 LTS

如果你不需要管理多个 Node.js 版本,可以直接从 Node.js 官网 下载 22.x LTS 版本的安装包,覆盖安装即可。

安装完成后打开新的终端窗口,确认版本:

node -v

常见陷阱

系统中存在多个 Node.js 安装

有时候系统中可能存在多个 Node.js 安装路径。使用以下命令确认你实际使用的是哪一个:

# Linux / macOS
which node

# Windows
where node

如果输出的路径不是你期望的 nvm 管理路径,检查你的 PATH 环境变量,确保 nvm 的路径排在系统自带 Node.js 路径之前。

Docker 环境中的版本问题

如果你在 Docker 中部署 OpenClaw,确保 Dockerfile 中的基础镜像使用了 Node.js 22:

FROM node:22-alpine

不要使用 node:lts 标签,因为 LTS 标签指向的版本可能随时间变化。明确指定大版本号可以避免构建不一致。

CI/CD 管道中的版本配置

在 GitHub Actions 中,确保 setup-node 步骤指定了正确的版本:

- uses: actions/setup-node@v4
  with:
    node-version: '22'

验证安装成功

升级 Node.js 后,执行以下命令验证 OpenClaw 可以正常工作:

npm install -g openclaw
openclaw --version
openclaw doctor

openclaw doctor 命令会自动检查运行环境,包括 Node.js 版本、必要的系统依赖以及配置文件 ~/.openclaw/openclaw.json 是否存在。如果所有检查都通过,你会看到绿色的确认信息。

如果在升级后仍然遇到问题,尝试清除 npm 缓存后重新安装:

npm cache clean --force
npm install -g openclaw
OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入