programmatūra · 5 min · 11.07.2026

Node.js 20 mūžs beidzies: no jūlija Azure SDK prasa 22, GitHub Actions pārgāja uz 24

Node.js 20 no 30. aprīļa vairs nesaņem drošības ielāpus — versijas dzīves cikls oficiāli beidzies. Pati programma joprojām darbojas, un tieši tāpēc daudzas komandas to atstājušas uz servera bez izmaiņām. Risks ir citur: ekosistēma sāka atmest 20 versiju ātrāk, nekā šīs komandas paspēja pārcelties.

Jūlijā tas kļuva jūtams. Azure SDK for JavaScript no 9. jūlija par minimālo versiju nosaka Node.js 22, bet GitHub Actions 16. jūnijā padarīja Node 24 par noklusējuma izpildvidi savām darbībām. Ja tavs kods vai konveijers paļaujas uz šiem rīkiem, versijas maiņa vairs nav jautājums “kad būs laiks”.

Kura versija kur atrodas

Node.js pāra numuru versijas iziet cauri Active LTS un pēc tam Maintenance LTS periodam, līdz sasniedz dzīves cikla beigas. Stāvoklis jūlijā, pēc endoflife.date datiem:

  • Node.js 24 — Active LTS. Aktīvais atbalsts līdz 2026. gada 20. oktobrim, drošības ielāpi līdz 2028. gada 30. aprīlim. Jaunākā versija 24.18.0.
  • Node.js 22 — Maintenance LTS. Drošības ielāpi līdz 2027. gada 30. aprīlim; jaunas iespējas te vairs nenāk. Jaunākā versija 22.23.1.
  • Node.js 26 — maija laidiens, kas rudenī kļūs par nākamo LTS. Pagaidām Current josla, jaunākā versija 26.5.0.
  • Node.js 20 — beidzies. Projekts tam ielāpus vairs neizdod.

Ražošanas lietojumiem vajadzētu izmantot tikai Active LTS vai Maintenance LTS laidienus. — endoflife.date

Praksē tas nozīmē vienu no divām versijām: 24 vai 22. Viss pārējais ir vai nu par jaunu ražošanai, vai jau bez ielāpiem.

GitHub Actions pārgāja uz Node 24

GitHub deprecē Node 20 uz saviem runneriem, jo versija aprīlī sasniedza dzīves cikla beigas. No 16. jūnija Node 24 ir noklusējuma izpildvide visām JavaScript darbībām, un rudenī 20 versiju no runneriem izņems pavisam. Detaļas ir aprakstītas GitHub izmaiņu žurnālā.

Darbību autoriem jāmaina runs.using vērtība no node20 uz node24. Kamēr pāreja nav pabeigta, jaunākais runneris atbalsta abas versijas: Node 24 var pārbaudīt ātrāk, uzstādot vides mainīgo FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true. Kam pēc 16. jūnija vajag vairāk laika, uz brīdi palīdz ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true, taču tas ir pagaidu risinājums, nevis vieta, kur palikt.

Node 24 atmet arī dažas platformas. Uz macOS 13.4 un vecākām versijām tas vairs nedarbojas, un ARM32 pašmitinātie runneri pēc pārejas atbalstu zaudē. Ja CI joprojām balstās uz vecu Mac aģentu vai 32 bitu ARM iekārtu, to jāatrisina pirms rudens.

Mākoņu SDK un serverless

Azure SDK for JavaScript ir konkrētākais piemērs. No 9. jūlija jaunās SDK versijas savā engines laukā norāda Node.js 22 kā minimumu. Kas paliek uz 20, npm instalācijas laikā saņem deprecation brīdinājumus, un ar iestatījumu engine-strict=true instalācija var vispār neizdoties. Microsoft pamatojums ir vienkāršs: tā kā 20 versija sasniedza dzīves cikla beigas, atbalsts tai nozīmētu novecojušas atkarības. Paziņojums ir Azure SDK blogā.

AWS Lambda pusē attēls līdzīgs. Node 20 izpildvide ir novecojusi, un ieteicamais mērķis ir 22 vai 24. Te ir viena nianse, ko viegli palaist garām: Lambda vidē Node 24 vairs neatbalsta callback stila apstrādātājus, tāpēc funkcijas jāpārraksta uz async/await. Kam kods joprojām nodod callback argumentu, pāreja uz 22 ir vienkāršāka nekā uz 24.

Uz kuru versiju pāriet

Zemākā riska lēciens ir uz Node.js 22. Lielākajai daļai projektu pietiek ar atkarību atjaunināšanu un build konveijera versijas maiņu; API pārrāvumu ir maz. Trūkums: 22 jau ir Maintenance LTS, tāpēc drošības ielāpi tam beigsies 2027. gada aprīlī, pusotru gadu ātrāk nekā 24 versijai.

Jauniem projektiem un komandām, kas grib garāku atbalsta logu, loģiskāka izvēle ir Node.js 24. Ilgāks dzīves cikls un jaunākais V8 dzinis kompensē to, ka pāreja prasa vairāk pārbaužu. Kas šodien vēl ir uz 20, praktiskākais ceļš ir vienā solī pārlēkt uz 24 un izlaist 22 pavisam, ja vien kāda atkarība to neaptur.

Ko darīt šonedēļ

Sāc ar inventarizāciju. Palaid node -v uz katras vides, kur kaut kas darbojas, un pārbaudi Docker bāzes attēlus, jo tur versija bieži ir iesaldēta. Pēc tam:

  1. atjaunini GitHub Actions darbplūsmas uz darbībām, kas jau lieto node24, vai maini savas darbības runs.using;
  2. pārbaudi package.json engines lauku un CI attēlus, lai npm brīdinājumi nekļūtu par instalācijas kļūdām;
  3. Lambda funkcijām apstiprini izpildvidi un, ja mērķis ir 24, pārraksti callback apstrādātājus;
  4. lokāli pārbaudi build un testus uz 22 un 24, piemēram, ar nvm.

Ja neko nedari, kods uz Node 20 pagaidām joprojām startēs. Bet no rudens tavs GitHub Actions runneris tam vairs nebūs, un jaunākais Azure SDK atteiksies instalēties. Datums, no kura tas jau notiek, ir 9. jūlijs.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no programmatūrasaistītie