升级Hermes Web UI当前Hermes Web UI v0.4.0 升级到Hermes Web UI v0.5.35方式一内置升级命令推荐在 WSL 终端执行hermes-web-ui update或hermes-web-ui upgrade这个命令会自动清理 npm 缓存、安装最新版并重启服务。方式二手动 npm 升级如果内置命令出问题可以手动强制重装1. 先停止当前 Web UIhermes-web-ui stop2. 强制清理缓存并安装最新版npm cache clean --forcenpm install -g hermes-web-uilatest3. 验证版本hermes-web-ui -v# 4. 重新启动hermes-web-ui start问题问题1node版本问题npm warn EBADENGINE Unsupported engine {npm warn EBADENGINE package: ‘hermes-web-ui0.5.35’,npm warn EBADENGINE required: { node: ‘23.0.0’ },npm warn EBADENGINE current: { node: ‘v20.20.2’, npm: ‘10.8.2’ }hermes-web-ui0.5.35 明确要求 Node.js ≥ 23.0.0你当前是 v20.20.2需要升级 Node这时就要安装node23及以上的版本问题2安装完node23,运行nvm use 23异常Now using node v23.11.1运行 ~/.hermes/skills$ node -v提示-bash: /home/james/.nvm/versions/node/v23.11.1/bin/node: cannot execute binary file: Exec format error这是 WSL 与 Node 23 的已知兼容性问题在 GitHub 上已有大量报告。Node 23 使用了新的 ELF/系统调用特性WSL 的兼容层无法正确加载其二进制文件。这是因为之前使用WSL1后面升级到WSL2。重新安装hermes-web-ui v0.5.35就行。所以一定要用WSL2安装否则后患无穷。问题3WS1转换WSL2问题如果之前是WSL1 则要转WSL2。wsl --set-version Ubuntu-20.04 2正在进行转换这可能需要几分钟时间…有关与 WSL 2 的主要区别的信息请访问 https://aka.ms/wsl2请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化。有关信息请访问 https://aka.ms/wsl2-install这个错误说明 虚拟机平台功能还没真正生效因为你之前用了 /norestart 参数需要手动重启电脑才能激活。问题3在上面一步成功后再次安装web异常npm install -g hermes-web-ui0.5.35npm error code 1npm error path /home/james/.nvm/versions/node/v23.11.1/lib/node_modules/hermes-web-ui/node_modules/node-ptynpm error command failed……npm error g: error: unrecognized command line option ‘-stdgnu20’; did you mean ‘-stdgnu2a’?npm error make: *** [pty.target.mk:119: Release/obj.target/pty/src/unix/pty.o] Error 1npm error gyp ERR! build errornpm error gyp ERR! stack Error:makefailed with exit code: 2npm error gyp ERR! stack at ChildProcess. (/home/james/.nvm/versions/node/v23.11.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:216:23)npm error gyp ERR! System Linux 5.10.16.3-microsoft-standard-WSL2……WSL2 转换成功了内核 5.10.16.3-microsoft-standard-WSL2Node 23 也正常。现在的问题是 g 版本太老。关键错误g: error: unrecognized command line option ‘-stdgnu20’; did you mean ‘-stdgnu2a’?Ubuntu 20.04 默认 g 是 9.x不支持 C20而 node-pty 编译需要 g 10。解决方案升级 g 到 10 或更高在 WSL 中执行1. 安装 g±10sudo apt updatesudo apt install -y g±10 gcc-102. 设置为默认编译器sudo update-alternatives --install /usr/bin/g g /usr/bin/g±10 100sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100# 3. 验证版本g --version # 应显示 10.x.xgcc --version # 应显示 10.x.x然后重新安装 hermes-web-uinvm use 23npm install -g hermes-web-ui0.5.35如果安装成功hermes-web-ui -v # 应显示 v0.5.35hermes-web-ui start如果 apt 找不到 g±10先添加 toolchain PPAsudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt updatesudo apt install -y g±10 gcc-10然后重复上面的设置默认编译器步骤。再运行sudo apt update sudo apt install -y g±10 gcc-10sudo update-alternatives --install /usr/bin/g g /usr/bin/g±10 100g --version