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

Production Docker වල npm install තවදුරටත් භාවිතා නොකර npm ci –omit=dev මාරුව

Production Docker වල npm install තවදුරටත් භාවිතා නොකර npm ci –omit=dev මාරුව

Node.js යෙදුම් Docker තුළ දියුණු කිරීමේදී, බොහෝ සංවිධාන npm install භාවිතා කරයි. නමුත් අපගේ පළපුරුද්ද පෙන්වන්නේ, එය ප්‍රොඩක්ෂන් පරිසරයට අනිසි අවදානමක් බවයි. දෙවසරකට පෙර, අපි npm install වෙනුවට npm ci --omit=dev යොදා ගැනීමට පත් වූ විට, යෙදුම් නාස්ති වීමේ අවස්ථා 80%කින් අඩු වුණා.

npm install හි ගැටළු

npm install ලොකල් සංවර්ධනයේ සුවපහසුය, නමුත් ප්‍රොඩක්ෂන් තුළ එය පවතින package-lock.json සමඟ අනුකූල නොවී, අනිසි අනුවාදයන් ස්වයංක්‍රීයව බාගත කරයි. ඒ නිසා ලොග් ලයිබ්‍රරියක් නව අනුවාදයක් හරහා අපගේ API කට්ටලය බිඳ වැටුණි. තවත් ගැටළුවක් නම්, විවිධ npm සංස්කරණ, රෙජිස්ට්‍රි පිළිතුරු වෙනස් වීම නිසා ස්ථානය-නිෂ්පාදන අතර වෙනස් dependency ගස් පැනවීම.

npm ci --omit=dev විසඳුම

npm ci පූර්ණයෙන්ම package-lock.json අනුගමනය කරයි; ලොක් ගොනුව හා package.json නොගැලපේ නම් ඉදිරි ගොඩනැගීම අසාර්ථක වේ. එය lock ගොනුව පමණක් භාවිතා කර, dependency resolution නොකර ඉතා වේගයෙන් ස්ථාපනය කරයි. --omit=dev පරාමිතිය devDependencies ඉවත් කරයි, එමඟින් නිෂ්පාදන පරිසරයට අත්‍යවශ්‍ය නොවන testing, linting මෙවලම් නොලැබේ. Dockerfile එකේ එකම පේළියක් වෙනස් කිරීමෙන් – RUN npm ci --omit=dev – ඔබේ යෙදුම ස්ථාපනයේ විශ්වාසනීයත්වය වැඩි කරයි.

අපේ අත්දැකීම්

  • axios පච් එකේ සුළු වෙනසක් auth middleware බිඳ වැටුවා; npm ci මඟින් lock ගොනුව නිවැරදිව රඳවා තිබූ නිසා 47 මිනිත්තු downtime එකක් වැළැක්වුණා.
  • devDependency එකක් CVE එකක් ගෙන එමින් security scanner එක alarm කළා; --omit=dev මඟින් එය නිෂ්පාදනයෙන් ඉවත් වුණා.
  • node_modules කෑෂ් දූෂණය කර build එක බිඳ වැටුණා; npm ci නව node_modules ෆෝල්ඩරයක් සෑදීම නිසා කෑෂ් මත පදනම් වූ ගැටළුව නැති වුණා.
  • staging හා production අතර npm සංස්කරණ වෙනස් වීම නිසා peerDependency ගැටළුවක් පැමිණි අතර, npm ci එකම lock ගොනුව භාවිතා කිරීමෙන් ඒ ගැටළුව පළමු පියවරේම හඳුනාගන්න ලැබුණා.

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

ශ්‍රී ලංකාවේ තරුණ සංවර්ධකයින්, startup කණ්ඩායම්, සහ IT සමාගම් සඳහා මෙම මාරුව විශාල වාසියක් ගෙන එයි.

  • ඉගෙනුම: නවතම CI/CD පද්ධති පිළිබඳ ප්‍රායෝගික උදාහරණයක් ලෙස, npm ci භාවිතය පාඨමාලා සහ වර්කෂොප් වලට අගය වැඩි කරයි.
  • විකසනය: අඩු downtime, වේගවත් deploy, සහ සුරක්ෂිත dependency management මගින් ව්‍යාපාරික ව්‍යාපෘතිවල විශ්වාසය ඉහළ යයි.
  • ව්‍යාපාරික ආර්ථිකය: නිෂ්පාදන පරිසරයේ වැරදි හේතුවෙන් සිදුවන අයවැය හා කාලය ඉතිරි කර, ශ්‍රී ලංකාවේ තාක්ෂණික ආධාරකයන්ගේ ගුණාත්මකතාව වැඩි කරයි.

ඉතින්, Dockerfile එකේ එක පේළියක් වෙනස් කිරීමෙන් ඔබේ යෙදුම ස්ථාපනයේ අනාගත ගැටළු අඩු කර, ව්‍යාපාරික කාර්යක්ෂමතාව වැඩි කරගත හැක. අදම npm ci –omit=dev භාවිතා කර බලන්න!

💡 ඔබේ Dockerfile එක npm ci –omit=dev සමඟ අලුත් කරන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#npm #Docker #Node.js #CI #DevOps