From 75d833d123db6bd8c6d824796000147981740d2d Mon Sep 17 00:00:00 2001 From: Gilles Soulier Date: Sat, 16 May 2026 10:26:30 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20install.sh=20=E2=80=94=20d=C3=A9tection?= =?UTF-8?q?=20codex=20(et=20autres)=20via=20nvm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La détection via command -v échoue dans curl|bash car nvm n'est pas chargé. Ajout de _find_bin() qui cherche aussi dans : - ~/.npm-global/bin/ - ~/.local/bin/ - ~/.nvm/versions/node/*/bin/ Corrige la non-détection de codex installé via nvm. Co-Authored-By: Claude Sonnet 4.6 --- install.sh | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/install.sh b/install.sh index 6872c55..c11d63c 100755 --- a/install.sh +++ b/install.sh @@ -127,36 +127,40 @@ detect_agents() { fi } - _detect_gemini() { - command -v gemini &>/dev/null && return 0 - local prefix - prefix=$(npm config get prefix 2>/dev/null) || return 1 - [[ -n "$prefix" && -f "${prefix}/bin/gemini" ]] + # Cherche un binaire dans les répertoires courants : PATH, npm-global, nvm, local + _find_bin() { + local bin="$1" + command -v "$bin" &>/dev/null && return 0 + [[ -f "$HOME/.npm-global/bin/$bin" ]] && return 0 + [[ -f "$HOME/.local/bin/$bin" ]] && return 0 + # nvm : toutes les versions node installées + find "$HOME/.nvm/versions/node" -name "$bin" -path "*/bin/$bin" 2>/dev/null | grep -q . && return 0 + return 1 } # claude-code - if [[ -d "$HOME/.claude" ]] || command -v claude &>/dev/null; then + if [[ -d "$HOME/.claude" ]] || _find_bin "claude"; then _add_agent "claude-code" else _skip_agent "claude-code" fi # gemini-cli - if _detect_gemini; then + if _find_bin "gemini"; then _add_agent "gemini-cli" else _skip_agent "gemini-cli" fi # codex - if command -v codex &>/dev/null || [[ -f "$HOME/.npm-global/bin/codex" ]]; then + if _find_bin "codex"; then _add_agent "codex" else _skip_agent "codex" fi # hermes - if command -v hermes &>/dev/null || [[ -f "$HOME/.local/bin/hermes" ]]; then + if _find_bin "hermes"; then _add_agent "hermes" else _skip_agent "hermes"