今天更新了一下Hermes,更新到v0.10.0(2026.4.16)版本,但是,貌似好像大概更新出错了,Web UI安装失败Web UI npm install failed,可能是我这边的环境问题吧。

进入/root/.hermes/hermes-agent/web目录,使用npm install安装报错

这是../lib/cli.js报错,感觉像是Node的核心文件损坏了,解决办法,去官网找到Node.js v22.22.2版本,替换就可以了。
操作步骤
1. 确认并下载对应的 Node.js 版本
从前面可以看到,Hermes用的Node版本是v22.22.2版本,我们需要下载官方编译好的 Node.js 包,下载对应的 Linux x64 版本。
# 1. 创建临时目录
mkdir -p /tmp/node-fix
# 2. 下载 Node.js v22.22.2 (请确保版本号与你的一致)
wget https://nodejs.org/dist/v22.22.2/node-v22.22.2-linux-x64.tar.xz -P /tmp/node-fix
# 3. 解压文件
cd /tmp/node-fix
tar -xJf node-v22.22.2-linux-x64.tar.xz
2. 覆盖修复
官方包解压后,文件结构通常是 node-v22.22.2-linux-x64/bin/node 和 .../lib/node。而 Hermes 目录结构看起来是扁平化的(直接在 bin 和 lib 下)。需要把下载好的文件“搬运”到 Hermes 的目录中。
# 1. 备份现有的损坏文件(以防万一,改个后缀)
mv /root/.hermes/node/bin/node /root/.hermes/node/bin/node.bak
mv /root/.hermes/node/bin/npm /root/.hermes/node/bin/npm.bak
# 如果 lib 目录存在且损坏,也建议备份整个 lib 目录
if [ -d "/root/.hermes/node/lib" ]; then
mv /root/.hermes/node/lib /root/.hermes/node/lib.bak
fi
# 2. 复制新的二进制文件 (bin)
# 将下载包中的 bin 目录内容复制到 hermes 的 bin 目录
cp -r /tmp/node-fix/node-v22.22.2-linux-x64/bin/* /root/.hermes/node/bin/
# 3. 复制新的库文件 (lib)
# 将下载包中的 lib 目录内容复制到 hermes 的 lib 目录
mkdir -p /root/.hermes/node/lib
cp -rR /tmp/node-fix/node-v22.22.2-linux-x64/lib/* /root/.hermes/node/lib/
# 4. 赋予执行权限
chmod +x /root/.hermes/node/bin/node
chmod +x /root/.hermes/node/bin/npm
3. 验证修复
直接测试 npm 是否恢复正常:
# 指定绝对路径运行,确保调用的是我们刚刚修复的文件
/root/.hermes/node/bin/node -v
/root/.hermes/node/bin/npm -v

4. 清理临时文件
确认无误后,可以删除临时文件:
rm -rf /tmp/node-fix
# 如果你想彻底清理备份的坏文件(确认新环境稳定后):
# rm /root/.hermes/node/bin/node.bak
# rm /root/.hermes/node/bin/npm.bak
# rm -rf /root/.hermes/node/lib.bak
5. 编译Web UI
# 进入目录
cd /root/.hermes/hermes-agent/web
# 编译
npm install
npm run build
使用新版WebUI
- 这版本的 Web Dashboard 默认只绑定到 127.0.0.1(localhost),这是安全设计。 当尝试让它监听 0.0.0.0(所有网络接口)时,会直接拒绝启动,并提示:

- 如果要绑定
0.0.0.0端口,需要添加--insecure参数。
~/.hermes/hermes-agent/web# /root/.local/bin/hermes dashboard --host 0.0.0.0 --port 9119 --insecure
- 可以把
hermes dashboard设置成systemctl服务来管理
[Unit]
Description=Hermes Dashboard Service
After=network.target
# 如果你的 Hermes 依赖其他服务(如 docker 或数据库),可以在这里添加 Requires= 或 After=
[Service]
Type=simple
# 核心配置:直接运行命令,不要加 & 或 nohup,让 systemd 接管前台进程
ExecStart=/root/.local/bin/hermes dashboard --host 0.0.0.0 --port 9119 --insecure
# 运行用户:虽然你在 root 目录下,但建议根据实际权限调整
User=root
Group=root
# 自动重启配置:防止进程意外崩溃退出
Restart=on-failure
RestartSec=5
# 环境变量(如果需要)
Environment="PATH=/root/.local/bin:/usr/bin:/bin"
# 日志管理:将输出转发到 journal,方便查看
StandardOutput=journal
StandardError=journal
SyslogIdentifier=hermes-dashboard
[Install]
WantedBy=multi-user.target
进入页面
这次版本的UI支持中文了,这点很友好哈。

评论区