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
}
_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"