Кратак одговор
Грешка „Node.js верзија није компатибилна“ најчешће значи да ваш пројекат захтева другу верзију Node.js од оне која је инсталирана. Решење је да проверите тренутну верзију, инсталирате одговарајућу (нпр. преко нвм на macOS/Linux-u или nvm-windows на Windows-u) и поново покренете инсталацију зависности.
Како се проблем препознаје
- npm install или yarn install пријављује грешку о некомпатибилној верзији Node.js
- Апликација се не покреће или пуца одмах након покретања
- Порука садржи „енгине“ или „Unsupported енгине“ и тражену верзију
- Неке функционалности раде, али буилд или тестови падају
- CI/CD пипелине пријављује грешку због верзије Node.js
Најчешћи узроци
Пројекат захтева новију верзију Node.js
У фајлу package.json или .нвмрц наведена је минимална верзија коју тренутна инсталација не задовољава.
Инсталирана је застарела верзија Node.js
Систем има старију верзију (нпр. 22.x) док пројекат тражи 24.x или новију LTS верзију.
Конфликт више верзија Node.js
На рачунару постоји више инсталација, а PATH показује на погрешну или се користи глобални npm уместо локалног.
Недостаје управљање верзијама
Без алата као што је нвм, прелазак између пројеката захтева ручно инсталирање и деинсталирање.
Решење корак по корак
- 1
Проверите тренутну верзију Node.js
Отворите terminal и покрените
node -vиnpm -v. Запишите излаз. Проверите и да ли у пројекту постоји фајл.nvmrcили пољеenginesуpackage.jsonкоје дефинише потребну верзију. - 2
Пронађите захтевану верзију
Ако у пројекту постоји
.nvmrc, садржај тог фајла је верзија коју треба користити. У супротном, погледајтеenginesуpackage.jsonили документацију пројекта. Ако нема података, инсталирајте тренутну LTS верзију са званичног сајта nodejs.org. - 3
Инсталирајте алат за управљање верзијама (препоручено)
На Windows-u преузмите и инсталирајте nvm-windows са званичног GitHub репозиторијума. На macOS/Linux-u користите
nvm(Node Версион Manager) према упутству са званичног сајта. Затворите и поново отворите terminal након инсталације. - 4
Инсталирајте одговарајућу верзију Node.js
Ако користите нвм, покрените
nvm install 24(замените број верзијом коју пројекат захтева). Затим је активирајте саnvm use 24. На Windows-u са nvm-windows команде су исте, али их покрените у Command Prompt-у или PowerShell-u. - 5
Поставите подразумевану верзију (опционо)
Да бисте избегли поновно активирање, на macOS/Linux-u поставите подразумевану верзију:
nvm alias default 24. На Windows-u са nvm-windows довољно је да покренетеnvm use 24; nvm-windows не подржаваalias default. Проверите саnode -vда ли је активна права верзија. - 6
Очистите кеш и поново инсталирајте зависности
Направите резервну копију или проверите да су измене сачуване у Git-у. Обришите
node_modules, аpackage-lock.json(илиyarn.lock) само ако је потребно. Затим по потреби покренитеnpm cache clean --forceиnpm install(илиyarn install/pnpm install, зависно од пакет менаџера). На тај начин се избегавају остаци старих бинарних модула који могу изазвати грешке. - 7
Проверите да ли грешка и даље постоји
Покрените
npm run buildилиnpm startи проверите излаз. Ако и даље добијате грешку о верзији, проверите да ли неки глобални пакет захтева другу верзију или да ли је PATH исправан (which nodeна macOS/Linux,where.exe nodeна Windows-u). - 8
Ажурирајте CI/CD конфигурацију
Ако користите GitHub Ацтионс, GitLab CI или слично, у конфигурационом фајлу поставите исту верзију Node.js (нпр.
node-version: 24). Не заборавите да ускладите и локално окружење са CI окружењем.
Ако ништа не помогне
Ако сте пробали све кораке и грешка остаје, проверите да ли у пројекту постоји .npmrc са engine-strict=true који блокира инсталацију. Привремено га можете уклонити или поставити на false, али то радите само ако разумете последице. Такође, проверите да ли користите одговарајући пакет менаџер (npm, yarn, пнпм) и његову верзију. Понекад је потребно обрисати и глобални npm кеш и поново инсталирати npm. Ако се грешка јавља само на продукцијском серверу, проверите да ли је тамо инсталирана иста верзија Node.js као локално. За сложене пројекте са више микросервиса, размислите о коришћењу Docker-а који гарантује конзистентно окружење.
Како да спречите да се понови
- Увек користите `.nvmrc` или `engines` у `package.json` да експлицитно наведете верзију Node.js.
- Редовно ажурирајте Node.js на стабилну LTS верзију и пратите када пројекти захтевају новију.
- Користите алат за управљање верзијама (нвм, nvm-windows, фнм) за лако пребацивање између пројеката.
- У CI/CD пипелине-у дефинишите исту верзију Node.js као у локалном развоју.
Када је боље позвати стручњака
Ако грешка утиче на продукцијско окружење или не можете да ускладите верзије у тиму, обратите се IT подршци. Они могу да поставе исправно окружење и спрече застоје у раду.
Развој софтвера и производа · Апликације по мери, SaaS и MVP за 4 до 8 недељаЧеста питања
Како да знам коју верзију Node.js пројекат захтева?
Најчешће пише у `.nvmrc` или у пољу `engines` унутар `package.json`. Ако нема тих података, погледајте README или документацију пројекта. У супротном, инсталирајте најновију LTS верзију.
Могу ли да инсталирам више верзија Node.js истовремено?
Да, користите нвм (macOS/Linux) или nvm-windows. Они вам омогућавају да инсталирате више верзија и бирате коју ћете користити по пројекту.
Да ли је безбедно обрисати node_модулес и package-lock.json?
Брисање `node_modules` је уобичајено и безбедно ако потом поново инсталирате зависности. Брисање `package-lock.json` или `yarn.lock` може променити стабло зависности, па то радите само ако је потребно и прво сачувајте фајл или проверите да је измена commitovana. Након брисања покрените `npm install` (или одговарајућу команду за yarn/pnpm).