Skip to content

OpenClaw ERR_UNSUPPORTED_ESM_URL_SCHEME 报错完整解决方案

2026年4月7日

OpenClaw ERR_UNSUPPORTED_ESM_URL_SCHEME 报错完整解决方案

安装 OpenClaw 时遇到 ERR_UNSUPPORTED_ESM_URL_SCHEME 报错?这是 Windows 用户最常见的问题之一。别慌,这篇教程帮你彻底解决。

报错信息长什么样

完整的报错信息通常是这样的:

Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only file and data URLs are supported by the default ESM loader. Received protocol 'node:'
    at new NodeError (node:internal/errors:405:5)
    at defaultLoad (node:internal/modules/esm/load:131:11)
    ...

或者:

Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only file and data URLs are supported by the default ESM loader

这个错误发生在安装或启动 OpenClaw 时,特别是配置模型后的下一步。

报错原因分析

根本原因

OpenClaw 的某些依赖包(如 @matrix-org/matrix-sdk-crypto-nodejs)使用 ESM 模块格式,而 Node.js 默认只支持特定的 URL 方案(如 file://)。

当 Node.js 尝试通过不支持的路径方式加载模块时,就会触发这个错误。

常见触发场景

  1. Node.js 版本不兼容:版本过低或过高都可能出现问题
  2. 模块加载方式不正确:相对路径加载 ESM 模块
  3. Windows 系统特有问题:路径处理差异
  4. OpenClaw 版本 Bug:某些版本存在已知问题

解决方案汇总

方案一:升级 Node.js 版本(推荐)

这是最简单有效的解决方案。

检查当前版本:

bash
node -v

推荐版本:

Node.js 版本兼容性建议
v18.x⚠️ 部分兼容建议升级
v20.x✅ 完全兼容推荐使用
v22.x✅ 完全兼容推荐使用
v23.x⚠️ 可能有新问题谨慎使用

升级方法:

使用 nvm(推荐):

bash
# Windows 用户下载 nvm-windows
# 然后执行:
nvm install 22
nvm use 22

或直接去 nodejs.org 下载 LTS 版本安装。

验证升级:

bash
node -v
# 应该显示 v20.x 或 v22.x

# 重新安装 OpenClaw
npm install -g @openclaw/cli

方案二:降级 Node.js 版本

如果升级后仍有问题,可以尝试降级到稳定版本:

bash
nvm install 20.11.0
nvm use 20.11.0

然后重新安装 OpenClaw。

方案三:清理缓存后重装

有时候缓存会导致问题:

bash
# 清理 npm 缓存
npm cache clean --force

# 删除已安装的 OpenClaw
npm uninstall -g @openclaw/cli

# 删除本地配置(可选,会清除你的配置)
rm -rf ~/.openclaw  # Mac/Linux
rmdir /s %USERPROFILE%\.openclaw  # Windows

# 重新安装
npm install -g @openclaw/cli

方案四:使用官方安装脚本

官方安装脚本会自动处理依赖问题:

Windows:

powershell
iwr -useb https://openclaw.ai/install.ps1 | iex

Mac/Linux:

bash
curl -fsSL https://openclaw.ai/install.sh | sh

方案五:设置环境变量

添加以下环境变量:

Windows(PowerShell):

powershell
$env:NODE_OPTIONS="--experimental-vm-modules"

Mac/Linux:

bash
export NODE_OPTIONS="--experimental-vm-modules"

然后重新启动 OpenClaw。

方案六:检查路径问题

Windows 用户特别注意:

  1. 不要在中文路径下安装:如 C:\用户\张三\...
  2. 避免空格路径:如 C:\Program Files\...
  3. 使用管理员权限运行

推荐安装路径:

C:\openclaw\

D:\openclaw\

完整排查步骤

按照这个顺序排查,通常能解决问题:

Step 1:检查 Node.js 版本

bash
node -v
npm -v

确保 Node.js 版本在 20-22 之间。

Step 2:清理并重装

bash
# 清理
npm cache clean --force
npm uninstall -g @openclaw/cli

# 重装
npm install -g @openclaw/cli

Step 3:验证安装

bash
openclaw --version

Step 4:运行诊断

bash
openclaw doctor

这个命令会自动检测常见问题。

Step 5:查看详细日志

如果以上步骤都失败,启用详细日志:

bash
# Windows
$env:OPENCLAW_VERBOSE=1
openclaw start

# Mac/Linux
OPENCLAW_VERBOSE=1 openclaw start

根据日志信息定位具体问题。

其他常见报错

在解决 ERR_UNSUPPORTED_ESM_URL_SCHEME 的过程中,可能还会遇到这些错误:

错误一:EACCES permission denied

权限不足:

bash
# Mac/Linux
sudo npm install -g @openclaw/cli

# Windows:以管理员身份运行 PowerShell

错误二:Network timeout

网络超时,换国内镜像:

bash
npm config set registry https://registry.npmmirror.com
npm install -g @openclaw/cli

错误三:Port 3000 already in use

端口被占用:

bash
# Windows
netstat -ano | findstr :3000
taskkill /PID <进程ID> /F

# 或使用其他端口
openclaw start --port 3001

错误四:Python not found

缺少构建工具:

bash
npm install -g windows-build-tools

预防措施

为了避免以后再遇到类似问题:

  1. 使用 nvm 管理 Node.js 版本:方便切换
  2. 保持 Node.js 在 LTS 版本:不要追最新版
  3. 定期更新 OpenClawnpm update -g @openclaw/cli
  4. 避免中文路径:使用英文路径安装

总结

ERR_UNSUPPORTED_ESM_URL_SCHEME 报错的核心原因是 Node.js 版本或模块加载方式问题。

快速解决步骤:

  1. 升级 Node.js 到 v20 或 v22
  2. 清理缓存重装 OpenClaw
  3. 运行 openclaw doctor 诊断
  4. 检查路径是否有中文或空格

按这个流程走一遍,90% 的情况都能解决。如果还有问题,查看详细日志或去 GitHub Issues 寻找类似案例。

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来