خطا های رایج NextJS
فهرست مطالب:
رفع مشکل kill شدن یا خطای Out of Memory هنگام دیپلوی NextJS
در برخی پروژههای Next.js، بهخصوص پروژههای بزرگ، ممکن است هنگام اجرای Build به دلیل مصرف بالای RAM و CPU با خطاهای کمبود منابع مواجه شوید.
برای مثال، ممکن است هنگام اجرای Build خطایی مشابه موارد زیر مشاهده شود:
Creating an optimized production build ...
<--- Last few GCs --->
FATAL ERROR: Reached heap limit
Allocation failed - JavaScript heap out of memory
یا پردازش Build به دلیل مصرف بیش از حد حافظه توسط سیستم متوقف شود:
Creating an optimized production build ...
Killed
npm error code 137
npm error signal SIGKILL
npm error command sh -c next build
در صورتی که با چنین خطاهایی مواجه شدید، میتوانید با کاهش میزان اجرای هم زمان عملیات Build، مصرف منابع را کنترل کنید.
برای این کار، تنظیمات زیر را در فایل next.config.js و در بخش تنظیمات اصلی پروژه اضافه کنید:
output: "standalone",
experimental: {
cpus: 2,
workerThreads: false,
staticGenerationMaxConcurrency: 2,
staticGenerationMinPagesPerWorker: 50,
},
این تنظیمات با محدود کردن تعداد پردازشهای همزمان و Worker های مورد استفاده در زمان Build، میتوانند میزان مصرف منابع را کاهش دهند و از بروز خطاهای Out of Memory در پروژههای بزرگ جلوگیری کنند.