mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-19 06:45:50 +00:00
Fix/ripgrep fallback (#1273)
* fix: tmp 目录改用 os.tmpdir() + ripgrep 缺失时自动 fallback 系统 rg 1. Shell.ts / imagePaste.ts / filesystem.ts: Linux/macOS 默认 tmp 路径 从硬编码 '/tmp' 改为 os.tmpdir(),自动适配 Termux/Android 等无 /tmp 的环境;macOS 桌面零变化;CLAUDE_CODE_TMPDIR 仍优先级最高。 2. ripgrep.ts: builtin rg 二进制缺失时(Android/Termux、不完整安装) 自动 fallback 到 PATH 上的系统 rg,通过 note 字段携带人读提示; /doctor 渲染 note;init 启动时写一行 stderr warning。 Co-Authored-By: glm-5.2 <zai-org@claude-code-best.win> * fix: review fix — ripgrep note 文案修正 + init catch 加调试日志 - ripgrep "no ripgrep available" note 去掉无意义的 USE_BUILTIN_RIPGREP=0 建议 - init.ts ripgrep status check 的空 catch 加 logForDebugging Co-Authored-By: glm-5.2 <zai-org@claude-code-best.win> --------- Co-authored-by: glm-5.2 <zai-org@claude-code-best.win>
This commit is contained in:
@@ -2,6 +2,7 @@ import { execFileSync, spawn } from 'child_process'
|
||||
import { constants as fsConstants, readFileSync, unlinkSync } from 'fs'
|
||||
import { type FileHandle, mkdir, open, realpath } from 'fs/promises'
|
||||
import memoize from 'lodash-es/memoize.js'
|
||||
import { tmpdir } from 'os'
|
||||
import { isAbsolute, resolve } from 'path'
|
||||
import { join as posixJoin } from 'path/posix'
|
||||
import { logEvent } from 'src/services/analytics/index.js'
|
||||
@@ -200,9 +201,10 @@ export async function exec(
|
||||
.toString(16)
|
||||
.padStart(4, '0')
|
||||
|
||||
// Sandbox temp directory - use per-user directory name to prevent multi-user permission conflicts
|
||||
// Sandbox temp directory - use per-user directory name to prevent multi-user permission conflicts.
|
||||
// tmpdir() honors $TMPDIR so non-/tmp environments (Termux/Android, containers) work out of the box.
|
||||
const sandboxTmpDir = posixJoin(
|
||||
process.env.CLAUDE_CODE_TMPDIR || '/tmp',
|
||||
process.env.CLAUDE_CODE_TMPDIR || tmpdir(),
|
||||
getClaudeTempDirName(),
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user