Kratak odgovor
Greška „Node.js verzija nije kompatibilna“ najčešće znači da vaš projekat zahteva drugu verziju Node.js od one koja je instalirana. Rešenje je da proverite trenutnu verziju, instalirate odgovarajuću (npr. preko nvm na macOS/Linux-u ili nvm-windows na Windows-u) i ponovo pokrenete instalaciju zavisnosti.
Kako se problem prepoznaje
- npm install ili yarn install prijavljuje grešku o nekompatibilnoj verziji Node.js
- Aplikacija se ne pokreće ili puca odmah nakon pokretanja
- Poruka sadrži „engine“ ili „Unsupported engine“ i traženu verziju
- Neke funkcionalnosti rade, ali build ili testovi padaju
- CI/CD pipeline prijavljuje grešku zbog verzije Node.js
Najčešći uzroci
Projekat zahteva noviju verziju Node.js
U fajlu package.json ili .nvmrc navedena je minimalna verzija koju trenutna instalacija ne zadovoljava.
Instalirana je zastarela verzija Node.js
Sistem ima stariju verziju (npr. 22.x) dok projekat traži 24.x ili noviju LTS verziju.
Konflikt više verzija Node.js
Na računaru postoji više instalacija, a PATH pokazuje na pogrešnu ili se koristi globalni npm umesto lokalnog.
Nedostaje upravljanje verzijama
Bez alata kao što je nvm, prelazak između projekata zahteva ručno instaliranje i deinstaliranje.
Rešenje korak po korak
- 1
Proverite trenutnu verziju Node.js
Otvorite terminal i pokrenite
node -vinpm -v. Zapišite izlaz. Proverite i da li u projektu postoji fajl.nvmrcili poljeenginesupackage.jsonkoje definiše potrebnu verziju. - 2
Pronađite zahtevanu verziju
Ako u projektu postoji
.nvmrc, sadržaj tog fajla je verzija koju treba koristiti. U suprotnom, pogledajteenginesupackage.jsonili dokumentaciju projekta. Ako nema podataka, instalirajte trenutnu LTS verziju sa zvaničnog sajta nodejs.org. - 3
Instalirajte alat za upravljanje verzijama (preporučeno)
Na Windows-u preuzmite i instalirajte nvm-windows sa zvaničnog GitHub repozitorijuma. Na macOS/Linux-u koristite
nvm(Node Version Manager) prema uputstvu sa zvaničnog sajta. Zatvorite i ponovo otvorite terminal nakon instalacije. - 4
Instalirajte odgovarajuću verziju Node.js
Ako koristite nvm, pokrenite
nvm install 24(zamenite broj verzijom koju projekat zahteva). Zatim je aktivirajte sanvm use 24. Na Windows-u sa nvm-windows komande su iste, ali ih pokrenite u Command Prompt-u ili PowerShell-u. - 5
Postavite podrazumevanu verziju (opciono)
Da biste izbegli ponovno aktiviranje, na macOS/Linux-u postavite podrazumevanu verziju:
nvm alias default 24. Na Windows-u sa nvm-windows dovoljno je da pokrenetenvm use 24; nvm-windows ne podržavaalias default. Proverite sanode -vda li je aktivna prava verzija. - 6
Očistite keš i ponovo instalirajte zavisnosti
Napravite rezervnu kopiju ili proverite da su izmene sačuvane u Git-u. Obrišite
node_modules, apackage-lock.json(iliyarn.lock) samo ako je potrebno. Zatim po potrebi pokrenitenpm cache clean --forceinpm install(iliyarn install/pnpm install, zavisno od paket menadžera). Na taj način se izbegavaju ostaci starih binarnih modula koji mogu izazvati greške. - 7
Proverite da li greška i dalje postoji
Pokrenite
npm run buildilinpm starti proverite izlaz. Ako i dalje dobijate grešku o verziji, proverite da li neki globalni paket zahteva drugu verziju ili da li je PATH ispravan (which nodena macOS/Linux,where.exe nodena Windows-u). - 8
Ažurirajte CI/CD konfiguraciju
Ako koristite GitHub Actions, GitLab CI ili slično, u konfiguracionom fajlu postavite istu verziju Node.js (npr.
node-version: 24). Ne zaboravite da uskladite i lokalno okruženje sa CI okruženjem.
Ako ništa ne pomogne
Ako ste probali sve korake i greška ostaje, proverite da li u projektu postoji .npmrc sa engine-strict=true koji blokira instalaciju. Privremeno ga možete ukloniti ili postaviti na false, ali to radite samo ako razumete posledice. Takođe, proverite da li koristite odgovarajući paket menadžer (npm, yarn, pnpm) i njegovu verziju. Ponekad je potrebno obrisati i globalni npm keš i ponovo instalirati npm. Ako se greška javlja samo na produkcijskom serveru, proverite da li je tamo instalirana ista verzija Node.js kao lokalno. Za složene projekte sa više mikroservisa, razmislite o korišćenju Docker-a koji garantuje konzistentno okruženje.
Kako da sprečite da se ponovi
- Uvek koristite `.nvmrc` ili `engines` u `package.json` da eksplicitno navedete verziju Node.js.
- Redovno ažurirajte Node.js na stabilnu LTS verziju i pratite kada projekti zahtevaju noviju.
- Koristite alat za upravljanje verzijama (nvm, nvm-windows, fnm) za lako prebacivanje između projekata.
- U CI/CD pipeline-u definišite istu verziju Node.js kao u lokalnom razvoju.
Kada je bolje pozvati stručnjaka
Ako greška utiče na produkcijsko okruženje ili ne možete da uskladite verzije u timu, obratite se IT podršci. Oni mogu da postave ispravno okruženje i spreče zastoje u radu.
Razvoj softvera i proizvoda · Aplikacije po meri, SaaS i MVP za 4 do 8 nedeljaČesta pitanja
Kako da znam koju verziju Node.js projekat zahteva?
Najčešće piše u `.nvmrc` ili u polju `engines` unutar `package.json`. Ako nema tih podataka, pogledajte README ili dokumentaciju projekta. U suprotnom, instalirajte najnoviju LTS verziju.
Mogu li da instaliram više verzija Node.js istovremeno?
Da, koristite nvm (macOS/Linux) ili nvm-windows. Oni vam omogućavaju da instalirate više verzija i birate koju ćete koristiti po projektu.
Da li je bezbedno obrisati node_modules i package-lock.json?
Brisanje `node_modules` je uobičajeno i bezbedno ako potom ponovo instalirate zavisnosti. Brisanje `package-lock.json` ili `yarn.lock` može promeniti stablo zavisnosti, pa to radite samo ako je potrebno i prvo sačuvajte fajl ili proverite da je izmena commitovana. Nakon brisanja pokrenite `npm install` (ili odgovarajuću komandu za yarn/pnpm).