目 录CONTENT

文章目录

Hermes更新v0.10.0导致WebUI npm install failed问题

过客
2026-04-19 / 0 评论 / 1 点赞 / 2 阅读 / 0 字

今天更新了一下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 目录结构看起来是扁平化的(直接在 binlib 下)。需要把下载好的文件“搬运”到 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支持中文了,这点很友好哈。

1
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区