删除bun安装的qmd
5 2026-03-25 12:21 2026-03-25 12:21
检查 QMD 的实际安装位置
首先确认 QMD 是如何安装的:
bash
# 查看 qmd 命令的位置 which qmd # 如果是通过 bun 安装的,可能显示类似: # /Users/用户名/.bun/bin/qmd # 查看该文件内容(它是一个可执行脚本) head -5 $(which qmd)
根据安装方式选择卸载方法
情况 1:通过 bun install -g 安装(实际上 Bun 会创建符号链接)
如果 QMD 是通过 bun install -g 安装的,它实际上创建了一个指向源码的符号链接。可以这样卸载:
bash
# 查看 bun 的全局安装目录 bun pm ls -g # 手动删除 qmd 相关的包 rm -rf $(bun pm bin)/qmd rm -rf $(bun pm cache)/*qmd* # 清理缓存
情况 2:通过 bun add -g 或直接克隆安装
bash
# 查看所有全局安装的包 ls -la $(bun pm bin)/../
最简单的方法:直接删除可执行文件
既然 Bun 的全局管理比较松散,最直接的方法就是手动删除:
bash
# 删除 qmd 可执行文件 rm $(which qmd) # 可选:删除相关的依赖缓存 bun pm cache rm
推荐:直接用 npm 安装 QMD
既然问题根源是 Node 环境找不到 QMD,而且你已经确定要使用 npm 方案,可以直接跳过卸载步骤,用 npm 覆盖安装:
1. 确认 Node.js 版本
bash
node --version # 需要 v22+
2. 用 npm 全局安装 QMD
bash
# 使用 npm 直接安装,会覆盖之前可能存在的 qmd 命令 npm install -g https://github.com/tobi/qmd # 验证安装 which qmd # 应该显示类似 /usr/local/bin/qmd 或 ~/.npm-global/bin/qmd
3. 检查 PATH 优先级
如果系统中同时存在多个 qmd 命令,需要确保 npm 安装的版本优先:
bash
# 查看所有 qmd 的位置 which -a qmd # 确保 npm 的 bin 目录在 PATH 中且优先级高于 bun 的 bin echo $PATH | tr ':' '\n' | grep -E '(npm|bun)'
4. 如果 npm 安装的 qmd 不生效
bash
# 强制刷新命令哈希缓存 hash -r # 或重新打开终端 # 重新验证 qmd --version
验证解决方案
完成以上步骤后,重启 OpenClaw 并检查:
bash
# 1. 重启 gateway openclaw gateway restart # 2. 查看日志 tail -f /tmp/openclaw/openclaw-$(date +%F).log | grep -i qmd # 3. 应该看到类似输出: # Using QMD memory backend # QMD initialized successfully
备选方案:直接在 OpenClaw 项目目录安装
如果全局安装仍有问题,可以考虑在 OpenClaw 自己的目录中安装 QMD:
bash
# 找到 OpenClaw 的安装位置 npm list -g openclaw --depth=0 # 进入 OpenClaw 的全局 node_modules 目录 cd $(npm prefix -g)/lib/node_modules/openclaw # 在该目录下安装 qmd 作为依赖 npm install https://github.com/tobi/qmd # 重启 OpenClaw openclaw gateway restart
这种方法虽然不太优雅,但能确保 OpenClaw 一定能找到 QMD 依赖。
选择哪种方法取决于你的实际需求。如果追求干净简洁,推荐使用 npm 全局安装;如果希望彻底隔离环境,可以在 OpenClaw 项目内安装。
全部评论