Uuendame NodeJS ja Python vaikeversioone

Ingmar Aasoja
Jaga:

TL;DR;

Juunis hakkavad jooksvalt serverites uuenema vaikeversioonid: NodeJS LTS versioonile 20 ja Python versioonile 3.11

Alanud kuul hakkame Zone platvormi järk-järgult l uuendama NodeJS ja Python vaikeversioone, mistõttu palume käesoleva kirjatükiga tähelepanu just nendelt kasutajatelt, kes nimetatud tarvkaradega sina peal.

Uuendame NodeJS ja Python vaikeversioone

NodeJS LTS 20

NodeJS versiooni muutus võib mõjutada kasutajaid mitmeti.

PM2 all jooskvad veebirakendused

Kõige suurem ja kohesem mõju on NodeJS-is kirjutatud veebirakendustele, mis töötavad pidevalt serveris. Pärast versiooniuuendust lõpetab rakendus töötamise, kui see ei ühildu uue versiooniga. Tuleb pöörata tähelepanu sellele, et serveri uuendamise käigus taaskäivitatakse kõik rakendused. Oluline on veenduda, et rakendus töötab ka uue versiooniga või kasutada NVM-i abil eelmist versiooni.

JS & CSS build skriptid

Väiksem mõju on skriptidel, mida kasutatakse veebilehe CSS-i ja JS-i kompileerimiseks veebibrauserile arusaadavaks. Kui veebiserveris käivitatakse käske nagu yarn build või npm run build, siis jätkab praegune veebileht töötamist ka siis, kui build-skriptid ei ole ühilduvad uue versiooniga. Probleemid võivad tekkida veebilehe koodi uuendamisel, kui on vaja veebis uuendada JS-i ja/või CSS-faile.

Kui kompileerimine toimub eraldiseisvas serveris, mis ei asu Zones, siis see muutus sind ei mõjuta.

NodeJS versioone saab seadistada NVM abil

Kuigi NodeJS versiooni uuendus mõjutab rakendust tavaliselt vähesel määral, tasub siiski ette valmistuda. Kõik sõltuvused võiks viia võimalikult uuele versioonile kasutades yarn või npm. Samuti on võimalik juba praegu kasutusele võtta NodeJS 20, kasutades NVM-i (Loe siit: Node Version Manager). NVM abil saab ka seadistada praeguse versiooni nii, et serveri baasversiooni uuendamisel kasutatakse edasi NVM-iga seadistatud eelnevat versiooni.

Kui on kahtlus, et veebirakendus ei pruugi toimida uuema versiooniga, siis tasub praegune versioon eelnevalt NVM-i abil seadistada. Hetkel kasutusel olevat versiooni saab näha veebiserveri SSH konsoolis käivitades käsu node -v.

Kui paigaldada NVM-iga mingi versioon, näiteks nvm install 18, siis tuleb vastav versioon märkida PM2 ökosüsteemi failis interpreter väljale, näiteks /dataXX/virtXXX/.nvm/versions/node/v18.20.3/bin/node, kus /dataXX/virtXXX tuleks asendada oma SSH kasutaja kodukataloogiga.

Python 3.11

Python ei ole jagatud veebimajutuses kõige levinum tarkvara. Kui sul on kasutusel lihtne veebirakendus, siis võid seda peatükki ignoreerida. Kui sul on aga kasutuses spetsiifiline rakendus, mis jookseb Pythonil, siis on oluline teada, et vaikeversioon uuendatakse versioonilt 3.8 versioonile 3.11.

Python 3.11 on juba praegu meie serverites saadaval käsuga python3.11. Praegune python käivitab taustal python3.8. Seega on võimalik oma rakendused üle viia uuemale versioonile juba praegu. Muudatuse käigus hakkab python käivitama python3.11. Hiljem suve teises pooles eemaldatakse vanem versioon 3.8 süsteemist.

Selleks, et rakendus tööle jääks, on soovitatav pärast serveri uuendust uuendada virtualenv pöördudes otse uuema python3.11 poole.

Uue virtualenv-i versiooniga 3.11 saab luua käsuga virtualenv ~/faili/teekond --python=python3.11, kus ~/faili/teekond tuleks asendada soovitud asukohaga.

Populaarsed postitused

Veelkord aegunud PHP versioonidest

Kaarel Urva
Mäletatavasti teavitasime aprilli lõpus kliente sellest, et aegunud PHP versioonide kasutamine muutub tasuliseks. Mõistetavasti tuli see uudis paljudele...

Peagi saabub WooCommerce 9.0

Ingmar Aasoja
Kui räägime veebilehtedest, siis mõtleme sageli WordPressile. Kui lisame jutule e-poe, siis enamasti räägime WooCommerce'ist. WooCommerce on paljude...

PHP versiooniuuenduste strateegiad

Ingmar Aasoja
See, et aegunud PHP on koormaks nii meile kui ka klientidele, on korduvalt läbikäidud teema. Seetõttu oleme ette võtnud teekonna, millega püüame...

BIMI ja DMARC ei pruugi päästa: Tähelepanuta jäänud DKIM haavatavus

blogi
Zone spetsialistid märkasid DKIM standardis olevate hoiatuste ignoreerimisest tulenenud haavatavust, mis mõjutab kogu e-posti ökosüsteemi ja paneb...