ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-25, Saturday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

WSL2 දෝෂයකින් Next.js සංවර්ධනය අස්ථාවරවීම: අයිකන් පැකේජයක් හේතුව

WSL2 දෝෂයකින් Next.js සංවර්ධනය අස්ථාවරවීම: අයිකන් පැකේජයක් හේතුව

ඔක්කොම වැඩ කරමින් සිටිද්දී මාවස් පතලේ මවුස් එක හුදෙකලා වුණා. ඇප් එකක් නෙවෙයි, සම්පූර්ණ WSL2 කවුළුවම අච්චු වුණා. Ctrl+C යැවුවත් ප්‍රතිඵලයක් නැති වුණා, docker ps කමාන්ඩ් එකත් සක්‍රියවම පදනමක් වගේ හරියටම රැඳුණා.

Windows Task Manager එකේ vmmemWSL ප්‍රොසෙසය RAM සීමාවට පත් වුණු පසු නැවත නැවත ඉහළට ගිය අයුරින් පෙන්වා දුන්නා. අවසන් විසඳුම වුනේ සියලු WSL ටර්මිනල් වසා, PowerShell එකෙන් wsl --shutdown ක්‍රියාත්මක කර, VM එක සම්පූර්ණයෙන්ම මැරෙන්න ඉවසීමයි.

මෙම සිදුවීමේ ප්‍රධාන හේතුව වුනේ ‘crypto UI’ සඳහා අයිකන් පැකේජයක් “ඇසි” ආකාරයෙන් ආයාත කිරීම. Next.js 16 + Turbopack පරිසරය WSL2 තුළ ධාවනය වෙමින් තිබුණා, host යන්ත්‍රයේ RAM 16 GB. මම .wslconfig ගොනුවෙන් මතක සීමාව (hard limit) සකසා තිබුනෙත්, Turbopack එකට /dynamic ප්‍රවේශය භාවිතා කළ නිසා, 9,000 කට අධික මොඩියුලයක් එකවර පද්ධතියට හෙළා දුන්නා.

dynamic/barrel entry point එක මුළු පැකේජයම එකම ග්‍රාෆ් එකක් ලෙස පෙන්වන නිසා, dev server එකට ඒ සියල්ලම මතකයේ රැඳවීමට සිදුවුණා. ඒ නිසා RSS (memory usage) ඉහල ගියා, garbage collector එකට පසුබැසීමක් නොවීය, සීමාවට පත්වූ විට VM එක ප්‍රතිචාර නොදෙයි. next build එක සාර්ථක වුවත්, next dev එක සදාකාලිකව ග්‍රාෆ් එක රැඳවීම නිසා අස්ථාවරවීමක් සිදුවුනා.

ප්‍රතිකාර ලෙස, මම /dynamic ප්‍රවේශය ඉවත් කර, අවශ්‍ය අයිකන නම් නාමයෙන්ම ආයාත කළා, නැතහොත් inline glyphs භාවිතා කළා. තවත් විකල්පයක් වුනේ Turbopack සදහා experimental.optimizePackageImports සැකසීම. මෙය import කරන ලද පෑකේජයෙහි සත්‍ය ගොනු මාර්ගයට පරිවර්තනය කර, අතුරු මොඩියුලයන්ට පිරිවැය අඩු කරයි. එම සැකසීමෙන් next‑server හි RSS 3.6 GB සිට 1.87 GB දක්වා අඩු වුණා, අඩුපාඩු 48%ක්.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ බොහෝ විශ්වවිද්‍යාල සිසුන්, තාක්ෂණික ආරම්භකයන් WSL2 භාවිතා කරයි. මේ ආකාරයේ මතක පරිභෝජනයේ ගැටලුව හඳුනා ගැනීම, දේශීය සංවර්ධකයන්ට පද්ධති සැකසීමේ සුදුසු උපදෙස් ලබා දෙනු ඇත. ව්‍යාපාරික සංවර්ධන කණ්ඩායම්ද, Docker සහ Turbopack පදනම් කරගත් CI/CD පයිප්ලයින් වලදී මෙවැනි ගැටලුවක් ඇතිවීමෙන් පසුබැසීම් සහ වියදම් ඉහල යාමක් වැළැක්විය හැකිය. මතක සීමා නිවැරදිව සැකසීම, පළපුරුදු import පද්ධති භාවිතය, සහ Turbopack හි optimise විකල්පය, ශ්‍රී ලංකාවේ තාක්ෂණික පරිසරය තදබදයකින් මුදවා ගැනීමට මූලික වේ.

ඉදිරියේදී, සංවර්ධකයන්ට මෙම අත්දැකීමෙන් ඉගෙන ගත හැකි දෙය නම්, “ඉතා ලාභදායී මොඩියුලයක් එකවර ආයාත කිරීම” වළක්වා, අවශ්‍ය කොටස් පමණක් import කිරීමයි. එය මතක පරිභෝජනය අඩු කර, වැඩ වේගය වැඩි කර, පද්ධතියේ ස්ථාවරතාවය රැක ගැනීමට උපකාරී වේ.

මෙම කතාව WSL2, Next.js, Turbopack යන තාක්ෂණික පදනම් වලට පදනම් වූ නව පරීක්ෂණයක් වන අතර, ශ්‍රී ලංකාවේ දැනුම්දීමේ අරමුණින් පළ කරන ලදී.

💡 ඔබේ සංවර්ධන පරිසරය තවත් අස්ථාවර නොකරන්න, අදම optimisePackageImports සක්‍රිය කරන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#WSL2 #Next.js #Turbopack #Icon Import #DevOps