Preskoči na sadržaj

Node.js verzija nije kompatibilna: kako je promeniti i rešiti grešku

Srednje 15 min Ažurirano:

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. 1

    Proverite trenutnu verziju Node.js

    Otvorite terminal i pokrenite node -v i npm -v. Zapišite izlaz. Proverite i da li u projektu postoji fajl .nvmrc ili polje engines u package.json koje definiše potrebnu verziju.

  2. 2

    Pronađite zahtevanu verziju

    Ako u projektu postoji .nvmrc, sadržaj tog fajla je verzija koju treba koristiti. U suprotnom, pogledajte engines u package.json ili dokumentaciju projekta. Ako nema podataka, instalirajte trenutnu LTS verziju sa zvaničnog sajta nodejs.org.

  3. 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. 4

    Instalirajte odgovarajuću verziju Node.js

    Ako koristite nvm, pokrenite nvm install 24 (zamenite broj verzijom koju projekat zahteva). Zatim je aktivirajte sa nvm use 24. Na Windows-u sa nvm-windows komande su iste, ali ih pokrenite u Command Prompt-u ili PowerShell-u.

  5. 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 pokrenete nvm use 24; nvm-windows ne podržava alias default. Proverite sa node -v da li je aktivna prava verzija.

  6. 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, a package-lock.json (ili yarn.lock) samo ako je potrebno. Zatim po potrebi pokrenite npm cache clean --force i npm install (ili yarn install/pnpm install, zavisno od paket menadžera). Na taj način se izbegavaju ostaci starih binarnih modula koji mogu izazvati greške.

  7. 7

    Proverite da li greška i dalje postoji

    Pokrenite npm run build ili npm start i 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 node na macOS/Linux, where.exe node na Windows-u).

  8. 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).

Podeli
Niste našli rešenje?AI IT asistent je dostupan 24/7. Opišite problem ili pošaljite screenshot greške i dobićete uputstvo za vaš slučaj.Pitajte AI IT asistenta