Problèmes d’installation courants

Problèmes de permissions Linux

Lors de l’installation de Claude Code avec npm, vous pouvez rencontrer des erreurs de permission si votre préfixe npm global n’est pas accessible en écriture par l’utilisateur (par exemple /usr ou /usr/local).

Solution recommandée : Créer un préfixe npm accessible en écriture

L’approche la plus sûre consiste à configurer npm pour utiliser un répertoire dans votre dossier personnel :

# D'abord, sauvegardez une liste de vos paquets globaux existants pour une migration ultérieure
npm list -g --depth=0 > ~/npm-global-packages.txt

# Créez un répertoire pour vos paquets globaux
mkdir -p ~/.npm-global

# Configurez npm pour utiliser le nouveau chemin de répertoire
npm config set prefix ~/.npm-global

# Note : Remplacez ~/.bashrc par ~/.zshrc, ~/.profile, ou autre fichier approprié pour votre shell
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc

# Appliquez le nouveau paramètre PATH
source ~/.bashrc

# Maintenant réinstallez Claude Code dans le nouvel emplacement
npm install -g @anthropic-ai/claude-code

# Optionnel : Réinstallez vos paquets globaux précédents dans le nouvel emplacement
# Consultez ~/npm-global-packages.txt et installez les paquets que vous souhaitez conserver

Cette solution est recommandée car elle :

  • Évite de modifier les permissions des répertoires système
  • Crée un emplacement propre et dédié pour vos paquets npm globaux
  • Suit les meilleures pratiques de sécurité

Récupération système : Si vous avez exécuté des commandes qui modifient la propriété et les permissions des fichiers système ou similaires

Si vous avez déjà exécuté une commande qui a modifié les permissions des répertoires système (comme sudo chown -R $USER:$(id -gn) /usr && sudo chmod -R u+w /usr) et que votre système est maintenant endommagé (par exemple, si vous voyez sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set), vous devrez effectuer des étapes de récupération.

Méthode de récupération Ubuntu/Debian :
  1. Pendant le redémarrage, maintenez SHIFT pour accéder au menu GRUB

  2. Sélectionnez “Options avancées pour Ubuntu/Debian”

  3. Choisissez l’option mode de récupération

  4. Sélectionnez “Passer à l’invite shell root”

  5. Remontez le système de fichiers en mode écriture :

    mount -o remount,rw /
    
  6. Corrigez les permissions :

    # Restaurez la propriété root
    chown -R root:root /usr
    chmod -R 755 /usr
    
    # Assurez-vous que /usr/local appartient à votre utilisateur pour les paquets npm
    chown -R VOTRE_NOM_UTILISATEUR:VOTRE_NOM_UTILISATEUR /usr/local
    
    # Définissez le bit setuid pour les binaires critiques
    chmod u+s /usr/bin/sudo
    chmod 4755 /usr/bin/sudo
    chmod u+s /usr/bin/su
    chmod u+s /usr/bin/passwd
    chmod u+s /usr/bin/newgrp
    chmod u+s /usr/bin/gpasswd
    chmod u+s /usr/bin/chsh
    chmod u+s /usr/bin/chfn
    
    # Corrigez la configuration sudo
    chown root:root /usr/libexec/sudo/sudoers.so
    chmod 4755 /usr/libexec/sudo/sudoers.so
    chown root:root /etc/sudo.conf
    chmod 644 /etc/sudo.conf
    
  7. Réinstallez les paquets affectés (optionnel mais recommandé) :

    # Sauvegardez la liste des paquets installés
    dpkg --get-selections > /tmp/installed_packages.txt
    
    # Réinstallez-les
    awk '{print $1}' /tmp/installed_packages.txt | xargs -r apt-get install --reinstall -y
    
  8. Redémarrez :

    reboot
    
Méthode alternative de récupération par USB Live :

Si le mode de récupération ne fonctionne pas, vous pouvez utiliser une clé USB live :

  1. Démarrez depuis une clé USB live (Ubuntu, Debian ou toute distribution Linux)

  2. Trouvez votre partition système :

    lsblk
    
  3. Montez votre partition système :

    sudo mount /dev/sdXY /mnt  # remplacez sdXY par votre partition système réelle
    
  4. Si vous avez une partition boot séparée, montez-la aussi :

    sudo mount /dev/sdXZ /mnt/boot  # si nécessaire
    
  5. Faites un chroot dans votre système :

    # Pour Ubuntu/Debian :
    sudo chroot /mnt
    
    # Pour les systèmes basés sur Arch :
    sudo arch-chroot /mnt
    
  6. Suivez les étapes 6-8 de la méthode de récupération Ubuntu/Debian ci-dessus

Après avoir restauré votre système, suivez la solution recommandée ci-dessus pour configurer un préfixe npm accessible en écriture.

Problèmes de mise à jour automatique

Si Claude Code ne peut pas se mettre à jour automatiquement, cela peut être dû à des problèmes de permissions avec votre répertoire préfixe npm global. Suivez la solution recommandée ci-dessus pour résoudre ce problème.

Si vous préférez désactiver la mise à jour automatique à la place, vous pouvez utiliser :

claude config set -g autoUpdaterStatus disabled

Permissions et authentification

Invites de permission répétées

Si vous devez approuver répétitivement les mêmes commandes, vous pouvez autoriser des outils spécifiques à s’exécuter sans approbation :

# Permettre à npm test de s'exécuter sans approbation
claude config add allowedTools "Bash(npm test)"

# Permettre à npm test et à toutes ses sous-commandes de s'exécuter sans approbation
claude config add allowedTools "Bash(npm test:*)"

Problèmes d’authentification

Si vous rencontrez des problèmes d’authentification :

  1. Exécutez /logout pour vous déconnecter complètement
  2. Fermez Claude Code
  3. Redémarrez avec claude et complétez à nouveau le processus d’authentification

Si les problèmes persistent, essayez :

rm -rf ~/.config/claude-code/auth.json
claude

Cela supprime vos informations d’authentification stockées et force une nouvelle connexion.

Performance et stabilité

Utilisation élevée du CPU ou de la mémoire

Claude Code est conçu pour fonctionner avec la plupart des environnements de développement, mais peut consommer des ressources importantes lors du traitement de grandes bases de code. Si vous rencontrez des problèmes de performance :

  1. Utilisez /compact régulièrement pour réduire la taille du contexte
  2. Fermez et redémarrez Claude Code entre les tâches importantes
  3. Envisagez d’ajouter les grands répertoires de build à vos fichiers .gitignore et .claudeignore

Commandes qui se bloquent ou gèlent

Si Claude Code semble ne pas répondre :

  1. Appuyez sur Ctrl+C pour tenter d’annuler l’opération en cours
  2. Si non réactif, vous devrez peut-être fermer le terminal et redémarrer
  3. Pour les problèmes persistants, exécutez Claude avec la journalisation détaillée : claude --verbose

Obtenir plus d’aide

Si vous rencontrez des problèmes non couverts ici :

  1. Utilisez la commande /bug dans Claude Code pour signaler les problèmes directement à Anthropic
  2. Vérifiez le dépôt GitHub pour les problèmes connus
  3. Exécutez /doctor pour vérifier l’état de votre installation Claude Code