فهرست منبع

fix: Opencode fails with ENOENT posix_spawn '/usr/bin/rg' (#3396)

Haris Gušić 4 ماه پیش
والد
کامیت
50cc641288
1فایلهای تغییر یافته به همراه10 افزوده شده و 0 حذف شده
  1. 10 0
      packages/opencode/src/file/ripgrep.ts

+ 10 - 0
packages/opencode/src/file/ripgrep.ts

@@ -211,6 +211,16 @@ export namespace Ripgrep {
       }
     }
 
+    // Bun.spawn should throw this, but it incorrectly reports that the executable does not exist.
+    // See https://github.com/oven-sh/bun/issues/24012
+    if (!(await fs.stat(input.cwd).catch(() => undefined))?.isDirectory()) {
+      throw Object.assign(new Error(`No such file or directory: '${input.cwd}'`), {
+        code: "ENOENT",
+        errno: -2,
+        path: input.cwd,
+      });
+    }
+
     const proc = Bun.spawn(args, {
       cwd: input.cwd,
       stdout: "pipe",