fix: install.sh — détection codex (et autres) via nvm

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 <noreply@anthropic.com>
This commit is contained in:
2026-05-16 10:26:30 +02:00
parent bdf635e547
commit 75d833d123
+13 -9
View File
@@ -127,36 +127,40 @@ detect_agents() {
fi fi
} }
_detect_gemini() { # Cherche un binaire dans les répertoires courants : PATH, npm-global, nvm, local
command -v gemini &>/dev/null && return 0 _find_bin() {
local prefix local bin="$1"
prefix=$(npm config get prefix 2>/dev/null) || return 1 command -v "$bin" &>/dev/null && return 0
[[ -n "$prefix" && -f "${prefix}/bin/gemini" ]] [[ -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 # claude-code
if [[ -d "$HOME/.claude" ]] || command -v claude &>/dev/null; then if [[ -d "$HOME/.claude" ]] || _find_bin "claude"; then
_add_agent "claude-code" _add_agent "claude-code"
else else
_skip_agent "claude-code" _skip_agent "claude-code"
fi fi
# gemini-cli # gemini-cli
if _detect_gemini; then if _find_bin "gemini"; then
_add_agent "gemini-cli" _add_agent "gemini-cli"
else else
_skip_agent "gemini-cli" _skip_agent "gemini-cli"
fi fi
# codex # codex
if command -v codex &>/dev/null || [[ -f "$HOME/.npm-global/bin/codex" ]]; then if _find_bin "codex"; then
_add_agent "codex" _add_agent "codex"
else else
_skip_agent "codex" _skip_agent "codex"
fi fi
# hermes # hermes
if command -v hermes &>/dev/null || [[ -f "$HOME/.local/bin/hermes" ]]; then if _find_bin "hermes"; then
_add_agent "hermes" _add_agent "hermes"
else else
_skip_agent "hermes" _skip_agent "hermes"