首页 教程 分类 Skills下载 关于
ZH EN JA KO
安装部署

使用nvm管理Node.js版本安装OpenClaw

· 8 分钟

Node.js版本的重要性

OpenClaw要求Node.js 22或更高版本。这不是一个可选的建议,而是硬性要求——低于22的版本会导致OpenClaw无法启动或出现不可预期的错误。Node.js 22引入了许多OpenClaw依赖的特性,包括改进的ESM支持、原生WebSocket API和性能优化。

同时需要特别注意:虽然Bun作为Node.js替代品近年来发展迅速,但OpenClaw官方不建议使用Bun运行,因为在处理WhatsApp和Telegram的WebSocket连接时存在已知兼容性问题。

nvm(Node Version Manager)是管理多个Node.js版本的最佳工具,它让你可以在不同版本间自由切换,而不会影响系统全局环境。

安装nvm

macOS和Linux

在macOS和Linux上安装nvm非常简单:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash

安装脚本会自动将nvm加载命令添加到你的shell配置文件(~/.bashrc~/.zshrc等)。安装完成后,重新加载shell:

source ~/.bashrc

如果你使用的是zsh(macOS默认shell):

source ~/.zshrc

验证nvm安装成功:

nvm --version

Windows(WSL2)

OpenClaw在Windows上推荐通过WSL2运行。在WSL2的Ubuntu环境中,nvm的安装方式与Linux相同:

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

如果你使用原生Windows环境,可以考虑使用nvm-windows(https://github.com/coreybutler/nvm-windows),但强烈建议使用WSL2以获得最佳兼容性。

安装Node.js 22

使用nvm安装最新的Node.js 22 LTS版本:

nvm install 22

nvm会自动下载、编译(如有必要)并安装指定版本。安装完成后,自动切换到该版本:

node --version

确认输出为v22.x.x

设为默认版本

将Node.js 22设为nvm的默认版本,这样每次打开新终端都会自动使用:

nvm alias default 22

验证默认版本设置:

nvm current

安装OpenClaw

Node.js环境准备好后,就可以安装OpenClaw了。

方式一:npm全局安装

npm install -g openclaw@latest

方式二:官方安装脚本

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

两种方式都会将OpenClaw安装为全局命令行工具。验证安装:

openclaw --version

初始化OpenClaw

首次安装后,运行引导程序完成配置:

openclaw onboard --install-daemon

引导程序会引导你完成以下步骤:

  1. 配置AI模型提供商(如OpenAI、Anthropic等)的API密钥
  2. 选择并连接聊天平台(WhatsApp、Telegram、Discord等)
  3. 安装后台守护进程(macOS上为LaunchAgent,Linux上为systemd服务)

所有配置保存在~/.openclaw/openclaw.json文件中。

安装后验证

运行OpenClaw内置的诊断工具检查环境是否正确配置:

openclaw doctor

此命令会检查:

  • Node.js版本是否满足22+要求
  • OpenClaw配置文件是否完整
  • 各聊天平台连接是否正常
  • 网络连通性

所有检查项通过后,启动OpenClaw:

openclaw start

或者打开管理面板:

openclaw dashboard

nvm日常使用技巧

查看已安装版本

nvm ls

查看可用远程版本

nvm ls-remote --lts

切换版本

nvm use 22

项目级版本锁定

在你的项目目录中创建.nvmrc文件,锁定Node.js版本:

echo "22" > .nvmrc

之后在项目目录中只需运行nvm use,nvm会自动读取.nvmrc并切换到指定版本。

自动切换版本

~/.bashrc~/.zshrc中添加以下脚本,可以在进入项目目录时自动切换Node.js版本:

autoload -U add-zsh-hook
load-nvmrc() {
  local nvmrc_path="$(nvm_find_nvmrc)"
  if [ -n "$nvmrc_path" ]; then
    local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
    if [ "$nvmrc_node_version" = "N/A" ]; then
      nvm install
    elif [ "$nvmrc_node_version" != "$(nvm version)" ]; then
      nvm use
    fi
  fi
}
add-zsh-hook chdir load-nvmrc
load-nvmrc

升级Node.js版本

当Node.js发布新版本时,可以通过nvm轻松升级:

nvm install 22 --reinstall-packages-from=current

--reinstall-packages-from=current参数会自动将当前版本全局安装的npm包(包括OpenClaw)迁移到新版本。

升级后验证OpenClaw仍然正常:

openclaw --version
openclaw doctor

卸载旧版本

升级后可以清理不再需要的旧版本:

nvm uninstall 20

常见问题

nvm命令未找到

确保shell配置文件中包含nvm加载脚本。检查~/.bashrc~/.zshrc中是否有以下内容:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

全局npm包在切换版本后消失

nvm的每个Node.js版本都有独立的全局包目录。切换版本后需要重新安装全局包,或者使用--reinstall-packages-from参数在安装时自动迁移。

sudo npm install失败

使用nvm管理的Node.js不需要也不应该使用sudo。如果遇到权限问题,检查是否误用了系统级Node.js。运行which node确认路径指向nvm目录(类似~/.nvm/versions/node/v22.x.x/bin/node)。

总结

nvm为OpenClaw的运行环境管理提供了灵活而可靠的方案。通过nvm,你可以轻松安装、切换和管理Node.js版本,确保OpenClaw始终运行在兼容的Node.js 22+环境中。无论是开发调试还是生产部署,nvm都是Node.js版本管理的最佳实践。

OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入