Skip to content

vendor ripgrep 二进制文件缺少执行权限导致 agents 无法加载 #31

@Martlet0723

Description

@Martlet0723

问题描述

新用户 clone 项目后运行 bun run dev,自定义 agents 无法加载(显示 0 个 agents)。

根本原因

src/utils/vendor/ripgrep/x64-linux/rg 等 vendor 二进制文件在 Git 上存储时没有执行权限:

$ git ls-tree HEAD src/utils/vendor/ripgrep/x64-linux/rg
100644 blob 56f7fe8  src/utils/vendor/ripgrep/x64-linux/rg  ← 应该是 100755

loadMarkdownFilesForSubdir('agents') 使用 ripgrep 搜索文件时,因为 rg 没有执行权限导致 ENOENT 错误,错误被静默捕获后返回空数组 → 0 个 agents 被加载。

复现步骤

  1. 全新 clone doge-code
  2. 运行 bun run dev
  3. 输入 /context 查看 Custom agents:显示 0 个

修复方案

在提交 vendor 二进制文件时使用 --chmod=+x

git add --chmod=+x src/utils/vendor/ripgrep/x64-linux/rg
git add --chmod=+x src/utils/vendor/ripgrep/arm64-linux/rg
# ... 其他平台的 rg 二进制文件

或者在项目中添加 scripts/postinstall.sh 自动修复权限:

find src/utils/vendor -type f -name "rg*" -exec chmod +x {} \;

环境信息

  • OS: Arch Linux x64
  • Platform: linux-x64
  • ripgrep version: 14.1.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions