Développeurs

Les téléchargements Homebrew ou npm échouent sur un Mac

Homebrew télécharge avec curl et Git. npm télécharge depuis son registre. Chaque outil lit ses propres réglages de proxy et de certificat.

S’applique à : les versions actuelles de Homebrew et npm sur toutes les versions actuelles de macOS.Vérifié le 29 octobre 2026

Symptômes

  • brew install s’arrête avec « curl: (28) … timed out » ou « Failed to download resource ».
  • npm install s’arrête avec ETIMEDOUT, ECONNRESET ou une erreur de certificat.
  • Les téléchargements échouent seulement sur un réseau d’entreprise ou un VPN.
  • Les téléchargements démarrent puis s’arrêtent sur une connexion lente.

Causes probables

  • Un proxy que l’outil ne connaît pas. Homebrew utilise http_proxy, https_proxy et all_proxy. npm utilise ses réglages proxy et https-proxy, ou les mêmes variables.
  • L’inspection TLS. Un proxy d’entreprise signe le trafic avec son propre certificat. Voir Les certificats d’un proxy d’entreprise cassent les outils de Terminal sur Mac.
  • Un mauvais registre npm. Un ancien réglage registry peut pointer vers un serveur que vous ne pouvez pas joindre.
  • Une connexion lente ou limitée. Les gros téléchargements peuvent expirer sur un Wi-Fi faible ou un partage de connexion.

Comment vérifier

  1. Laissez Homebrew vérifier votre système.

    brew doctor
  2. Affichez la configuration de Homebrew et du système.

    brew config
  3. Affichez les réglages de registre et de proxy de npm.

    npm config get registry
    npm config get proxy
    npm config get https-proxy
  4. Demandez une réponse au registre npm.

    npm ping
  5. Testez directement l’hôte de téléchargement avec curl.

    curl -v -o /dev/null https://formulae.brew.sh/api/formula.json

Comment corriger

  1. Pour Homebrew derrière un proxy, définissez la variable de proxy dans le même shell.

    export https_proxy=http://proxy.example.com:8080
  2. Pour npm derrière un proxy, configurez le proxy de npm.

    npm config set https-proxy http://proxy.example.com:8080
  3. Supprimez un ancien réglage de registre npm pour que npm utilise sa valeur par défaut.

    npm config delete registry
  4. Laissez Homebrew réessayer davantage un téléchargement qui a échoué.

    export HOMEBREW_CURL_RETRIES=5
  5. Si votre entreprise utilise un miroir, configurez-le. Homebrew utilise HOMEBREW_BOTTLE_DOMAIN et HOMEBREW_API_DOMAIN pour les miroirs.

  6. Pour les erreurs de certificat, ajoutez le certificat racine de l’entreprise. Voir Les certificats d’un proxy d’entreprise cassent les outils de Terminal sur Mac.

Avec Kilobat

  1. Avant une grosse installation, vérifie si le réseau est limité, passe par un VPN ou est lent.

    kilobat conditions
  2. Trouve la couche qui bloque l’hôte de téléchargement. Ajoutez --app pour utiliser les variables de proxy de ce processus.

    kilobat why https://ghcr.io/v2/homebrew/core --app process:curl
  3. Garde le Mac éveillé pendant l’installation.

    kilobat awake -- brew upgrade
  4. Ces commandes sont gratuites. Voir Vérifier le réseau avant un gros téléchargement dans un agent.

Questions

Homebrew utilise-t-il le proxy de Réglages Système ?

La documentation de Homebrew liste des variables de proxy pour curl, Git et Subversion. Définissez https_proxy dans votre shell.

Combien de temps npm attend-il ?

La documentation de npm indique une valeur par défaut de 300000 ms pour fetch-timeout, soit cinq minutes, et de 2 pour fetch-retries.

Sources

Sources vérifiées le 29 octobre 2026. Les pages man sont celles installées avec macOS ; ouvrez-en une avec man <name> dans Terminal.