diff --git a/90_debug_et_postmortem.md b/90_debug_et_postmortem.md index bd8e6da..ac68a9c 100644 --- a/90_debug_et_postmortem.md +++ b/90_debug_et_postmortem.md @@ -174,3 +174,49 @@ Si une fonction est utilisée dans le même fichier qui la re-exporte, ajouter u import { resolvePublicTenantSelection } from "@/server/tenant/resolvePublicTenant"; export { resolvePublicTenantSelection }; // pour les appelants externes ``` + +--- + +## CLI npm globale qui ne se met pas à jour (prefix / permissions / contexte projet) + +### Contexte + +Mise à jour de `@openai/codex` via la CLI (`codex update`), sur une machine avec installation npm globale utilisateur (`~/.npm-global`) et exécution depuis un repo contenant un `.npmrc` non standard. + +### Symptômes + +- Message d’update CLI affiché mais version inchangée après `npm install -g` +- `codex --version` reste sur une ancienne version +- Installation via `sudo` ne change rien +- `which codex` et `npm root -g` pointent vers des chemins différents + +### Cause + +- Décalage entre : + - le **prefix npm** utilisé pour installer + - le **binaire exécuté** +- Ancienne installation toujours active dans le bon prefix utilisateur +- Contexte projet (`.npmrc`) pouvant influencer le comportement de npm + +### Correctif / règle à retenir + +- Ne jamais utiliser `sudo npm install -g` +- S’assurer que : + - `npm config get prefix` = dossier utilisateur (ex : `~/.npm-global`) + - `which ` pointe vers ce même prefix +- Faire les installs globales hors d’un repo (éviter `.npmrc` projet) +- En cas de doute, nettoyer : + +```bash +rm -rf ~/.npm-global/lib/node_modules/ +rm -f ~/.npm-global/bin/ +npm install -g @latest +``` + +### Commandes de diagnostic utiles + +- `npm config get prefix` +- `which ` +- `npm root -g` +- `npm ls -g --depth=0 ` | npm list -g @openai/codex --depth=0 +- --version