安装问题
Node.js 版本太低导致语法错误:SyntaxError Unexpected token
macOSWindowsLinux
症状
安装 OpenClaw 后运行任何命令报错:
SyntaxError: Unexpected token '?'
SyntaxError: Unexpected token '??='
看起来像 Bug,但其实是 Node.js 版本太低。
原因
OpenClaw 需要 Node.js ≥ v22,使用了可选链(?.)、空值合并(??)等新语法。系统自带的 Node.js 通常版本过低。
解法
使用 nvm 安装正确版本
# 安装 nvm(如果没有)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc # 或 source ~/.zshrc
# 安装并切换到 Node 22
nvm install 22
nvm use 22
nvm alias default 22
# 验证
node -v # 应显示 v22.x.x
然后重新安装 OpenClaw
npm install -g openclaw@latest
openclaw --version
验证修复
node -v # v22.x.x
openclaw --version # 应正常显示版本号