1. Blog >
  2. Tech
  3. Résoudre l'erreur Netlify "Command failed with exit code 137"
17 août 2024

Résoudre l'erreur Netlify
"Command failed with exit code 137"

Il arrive parfois qu'un site Next.js ne parvienne plus à être déployé sur Netlify et rencontre l'erreur "Command failed with exit code 137" à chaque nouvelle tentative. Cette erreur, souvent déroutante, est généralement due à un problème de manque de mémoire.

Rassurez-vous, nous avons 3 solutions à vous proposer pour résoudre ce problème.

Comprendre l'erreur 137 : un problème de mémoire

Voici l'erreur que vous retrouvez probablement dans les logs de vos déploiements sur Netlify

1"build.command" failed                                        
2────────────────────────────────────────────────────────────────
3
4  Error message
5  Command failed with exit code 137: npm run build (https://ntl.fyi/exit-code-137)
6
7  Error location
8  In build.command from netlify.toml:
9  npm run build

Avant tout, il est crucial de saisir la nature de cette bête. L'erreur 137 est, en réalité, le signe d'un manque de mémoire lors du processus de build. Netlify, dans sa grande sagesse, nous signale ainsi que notre site Next.js est un peu trop gourmand en ressources.

Les causes possibles : un site Next.js trop vorace en mémoire

Il est fort probable que votre site Next.js soit un tantinet trop vorace en mémoire pendant sa génération statique, et donc son déploiement sur Netlify. Une ou plusieurs pages de votre site pourraient être en train de charger une quantité pharaonique d'informations lors du build, certaines n'étaient probablement pas utiles pour la génération de ces pages.

Trois solutions pour éviter l'erreur 137

Face à ce problème, nous avons déterminé 3 solutions que vous pourriez envisager :

  1. L'optimisation des données chargées lors de la génération du site

  2. La configuration des CPUs alloués à Next.js lors du déploiement

  3. La migration vers un autre PaaS

1. Optimiser la quantité de données nécessaires au build

Cette approche, bien que potentiellement chronophage, peut s'avérer bénéfique à long terme. Il s'agit de revoir la gestion des données, en réduisant au minimum la quantité de données qui sont nécessaires et chargées pour la génération des pages de votre site.

Par exemple, évitez de charger l'intégralité de votre blog pour n'en afficher qu'une partie sur la page listant vos dernières actualités. Aussi, vérifiez la gestion des données de traduction si votre site est multilingue : est-ce que seules les informations utiles à la génération d'une page lui sont fournies ?

Non seulement cela pourrait résoudre votre problème de déploiement, mais cela boostera également les performances de votre site pour vos visiteurs. D'une pierre deux coups !

2. Configurer le nombre de CPUs alloués à Next.js

Voici une autre solution, que nous avons découverte lors d'une mission pour l'un de nos clients. Elle est rapide à mettre en place et d'une efficacité redoutable. Il suffit de limiter le nombre de CPUs alloués à Next.js pendant son déploiement à 6.

Pour ce faire, ajoutez cette option dans votre fichier next.config.js :

1module.exports = {
2  // Votre configuration...
3  experimental: {
4    cpus: 6
5  }
6}

Pourquoi 6 ? C'est le nombre maximum de CPUs alloués pendant les déploiements en forfait standard sur Netlify.

3. Migrer vers une autre plateforme de déploiement

Si les deux premières solutions ne portent pas leurs fruits, il peut être judicieux d'envisager la migration vers une autre plateforme de déploiement, comme Vercel qui est plus généreuse en capacité de mémoire au cours des déploiements.

Notre expertise au service de votre projet

Cette erreur de déploiement ne devrait plus être un obstacle insurmontable pour vous. Vous devriez probablement trouver votre bonheure parmis ces trois solutions.

Si toutefois vous vous sentez dépassé, sachez que notre équipe d'experts est là pour vous épauler. Que ce soit pour résoudre des problèmes sur votre site Next.js, optimiser vos déploiements Netlify ou Vercel, ou même pour des évolutions plus ambitieuses, n'hésitez pas à faire appel à nos services.

Swile
Libeo
Fleet
Swile
Libeo
Fleet
Swile
Libeo
Fleet
Swile
Libeo
Fleet
  • Design
    Maintenir une bonne collaboration entre designers et développeurs

    Nous avons tous ressenti la frustration d'avoir une idée de design brillante sans forcément pouvoir la concrétiser. Lorsque les équipes de design et de développement ne sont pas alignées, il devient difficile, voire impossible, de donner vie à votre vision créative.

  • Créer ma page Wikipédia
    Marketing
    Comment créer une page Wikipédia : Le guide ultime pour réussir sa publication

    Vous souhaitez créer une page Wikipédia pour vous-même ou votre entreprise ?

    Nous vous guidons pas à pas à travers le processus de création d'une page Wikipédia. De l'évaluation de votre éligibilité aux astuces pour une publication réussie, nous couvrons tous les aspects essentiels à cette tâche !

  • Vercel usage
    Tech
    Réduire son usage Vercel : maîtriser le Data Cache et l'exécution des Functions

    Vous fixez votre facture Vercel avec stupéfaction, n'est-ce pas ? Rassurez-vous, vous n'êtes pas seul face à l'envolée inattendue de nombreuses métriques aux noms barbarbes "Data Cache", "Function Duration" ou encore "ISR".

    Nous avons concocté pour vous un guide d'optimisation Next.js qui vous aidera à réduire votre usage Vercel sans sacrifier les performances. Nous vous dévoilons tous nos secrets pour otpimiser vos coûts.