目录
[坑一:raw.githubusercontent.com DNS 解析失败](#坑一:raw.githubusercontent.com DNS 解析失败)
[坑二:C:\Windows\System32\node 幽灵文件冲突](#坑二:C:\Windows\System32\node 幽灵文件冲突)
最近尝试安装 NousResearch 开源的 Hermes Agent,安装过程中踩了两个比较典型的坑,折腾了好一阵才解决。把整个过程记录下来,希望能帮到遇到同样问题的同学。
本文环境:Windows 11,国内网络。
坑一:raw.githubusercontent.com DNS 解析失败
现象
运行 Hermes Setup 后,日志反复报错:
ERROR hermes_bootstrap_lib::bootstrap: bootstrap FAILED
error=resolve install script failed:
GET https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1:
client error (Connect): dns error:
请求的名称有效,但是找不到请求的类型的数据。 (os error 11004)
程序尝试从 raw.githubusercontent.com 下载安装脚本 install.ps1,但 DNS 解析返回空结果,连接失败。
原因
raw.githubusercontent.com 在国内网络环境下经常被 DNS 污染或屏蔽,Windows 错误码 11004(WSANO_DATA)表示 DNS 查询成功但返回了空数据。
解决方法
方法一:修改 hosts 文件(推荐)
以管理员身份打开记事本,编辑 C:\Windows\System32\drivers\etc\hosts,在末尾添加:
185.199.108.133 raw.githubusercontent.com
保存后刷新 DNS 缓存:
ipconfig /flushdns
如果该 IP 不可用,可以尝试以下备用 IP:
185.199.109.133 raw.githubusercontent.com
185.199.110.133 raw.githubusercontent.com
185.199.111.133 raw.githubusercontent.com
方法二:更换 DNS 服务器
将网络适配器的 DNS 修改为 114.114.114.114 或 8.8.8.8。
方法三:使用代理
确保代理/加速器已开启全局(TUN)模式。
坑二:C:\Windows\System32\node 幽灵文件冲突
现象
解决了 DNS 问题后,脚本成功下载并开始执行安装步骤,uv、Python、Git 三个阶段都顺利通过,但卡在了 node 阶段:
程序"node"无法运行: Application not found
所在位置 C:\Users\LENOVO\AppData\Local\hermes\bootstrap-cache\install-main.ps1:767
排查过程
1. 确认 Node.js 是否已安装
D:\NodeJs\Node\node.exe --version
# 输出: v22.20.0
Node.js 本身没问题,已安装在 D:\NodeJs\Node 且 PATH 中已配置了该路径。
2. 检查系统是如何解析 node 命令的
where.exe node
输出:
C:\Windows\System32\node ← 系统优先匹配到了这个
D:\NodeJs\Node\node.exe ← 实际安装的 node
3. 查看这个神秘文件
dir C:\Windows\System32\node
输出:
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2025/10/13 0 node
一个 0 字节的空文件 ,根本不是真正的 Node.js 可执行文件。它可能是某个程序卸载后留下的残留,或者 Windows 应用执行别名生成的占位。最关键的是,C:\Windows\System32 在 PATH 中的位置排在 D:\NodeJs\Node 前面,所以每次敲 node 命令时,系统会优先找到这个假文件,尝试运行它,然后就报"找不到应用程序"。
解决方法
用管理员权限打开 PowerShell(Win + R → 输入 powershell → 按 Ctrl + Shift + Enter),执行:
Remove-Item C:\Windows\System32\node -Force
删除后新开一个普通 PowerShell 窗口验证:
node --version
# 输出: v22.20.0 → 修复成功
总结
| 问题 | 根因 | 解决 |
|---|---|---|
| DNS 解析失败 | 国内网络无法访问 raw.githubusercontent.com | 修改 hosts 文件绑定 GitHub IP |
| node 命令找不到 | C:\Windows\System32 中存在 0 字节幽灵文件 | 用管理员权限删除该假文件 |
这两个问题本质上都是"路径劫持"------前者是 DNS 层面的域名劫持,后者是文件系统层面的命令劫持。思路类似:找到正确的源,把挡在前面的假货干掉。
希望这篇记录对你有帮助。如果你在安装 Hermes Agent 时遇到其他问题,欢迎在评论区交流。