Кратак одговор
Грешка Модуле нот фоунд значи да програм не може да пронађе модул или пакет који покушава да учита. Најчешћи узроци су погрешно име или путања, модул није инсталиран, погрешан радни директоријум или неусклађено окружење. Решење је да проверите импорт, инсталирате пакет и покренете пројекат из исправног фолдера.
Како се проблем препознаје
- Порука `ModuleNotFoundError: No module named 'x'` у Pythonu
- Порука `Error: Cannot find module 'x'` у Node.js
- Апликација се руши одмах након покретања
- Грешка се јавља само на другој машини или у CI окружењу
- Импорт ради у едитору, али не и из терминала
Најчешћи узроци
Модул није инсталиран
Пакет који код тражи није присутан у окружењу. То се често дешава када се `npm install` или `pip install` не покрене након преузимања пројекта.
Погрешно име или путања
Импорт садржи грешку у куцању, погрешан релативни пут или недостаје `__init__.py` у Python пакету. Node.js тражи тачан назив модула у `node_modules`.
Погрешан радни директоријум
Команда се извршава из фолдера који није корен пројекта, па се `node_modules` или виртуелно окружење не виде. Проверите у ком сте фолдеру пре покретања.
Неусклађено окружење
Користите глобални Python уместо виртуелног окружења или другу Node.js верзију од оне коју пројекат очекује. Зависности тада нису видљиве.
Проблеми са кешом или инсталацијом
Делимично инсталиран пакет, оштећен `node_modules` или застарео `package-lock.json` могу да доведу до тога да модул постоји, али није доступан.
Решење корак по корак
- 1
Прочитајте тачан назив модула из грешке
Порука у терминалу наводи име модула који недостаје. Запишите га и упоредите са импорт линијом у коду. У Node.js грешка обично почиње са
Error: Cannot find module, а у Pythonu саModuleNotFoundError. - 2
Проверите да ли сте у корену пројекта
Покрените
pwd(macOS/Linux),cdу Windows командној линији илиGet-Locationу PowerShell-u да видите тренутни фолдер. У њему треба да постојеpackage.jsonза Node.js илиrequirements.txt/pyproject.tomlза Python. Ако не постоје, пређите у прави фолдер командомcd putanja/do/projekta. - 3
Инсталирајте зависности
За Node.js покрените
npm installу корену пројекта. За Python активирајте виртуелно окружење па покренитеpip install -r requirements.txt. Ако модул и даље недостаје, инсталирајте га појединачно:npm install ime-paketaилиpip install ime-paketa. - 4
Проверите импорт и путању
Уверите се да импорт одговара стварном називу пакета и структури фолдера. У Pythonu релативни импорти зависе од тога одакле се модул покреће; у Node.js проверите да ли путања почиње са
./за локалне фајлове. Обратите пажњу на велика и мала слова. - 5
Очистите кеш и поново инсталирајте
Ако модул постоји али се не види, пре брисања направите резервну копију пројекта или проверите да је сачуван у Git репозиторијуму. Затим обришите
node_modulesиpackage-lock.jsonпа поново покренитеnpm install; брисањеpackage-lock.jsonможе да промени верзије зависности. У Pythonu обришите__pycache__фолдере и поново инсталирајте пакет. Поступак може потрајати. - 6
Проверите верзију језика и окружење
Покрените
node -vилиpython --versionи упоредите са захтевима пројекта. У Pythonu проверите да ли је активирано виртуелно окружење (prompt приказује његово име). У Node.js користитеnvmако је потребно пребацивање верзије. - 7
Тестирајте изоловано
Направите минималну скрипту која само увози модул и покрените је. Ако и тада пуца, проблем је у инсталацији или окружењу, а не у остатку кода. Ако ради, грешка је у путањи или начину покретања главне апликације.
Када ништа не помогне
Ако сте прошли све кораке и грешка остаје, проверите да ли пројекат користи монорепо или workspace подешавања, где се пакети налазе у другом фолдеру. Погледајте и да ли је у питању глобална инсталација која маскира недостатак локалне. У Node.js покрените npm ls ime-paketa да видите да ли је пакет уопште присутан у стаблу зависности. У Pythonu pip show ime-paketa даје локацију инсталације. Ако се грешка јавља само у CI систему, упоредите верзије језика и кораке инсталације са локалним окружењем. Као последњу опцију, направите ново виртуелно окружење или свеж клон пројекта и поновите инсталацију.
Како да спречите да се понови
- Увек покрећите `npm install` или `pip install -r requirements.txt` након преузимања пројекта
- Закључајте верзије зависности (`package-lock.json`, `requirements.txt`) и држите их у репозиторијуму
- Користите виртуелно окружење за Python и `nvm` за Node.js
- Проверите да ли сте у корену пројекта пре покретања команди
Када је боље позвати стручњака
Ако грешка потиче из сложеног буилд система, монорепа или CI конфигурације, или се понавља упркос свим корацима, обратите се IT подршци да заједно проверите окружење и зависности.
Развој софтвера и производа · Апликације по мери, SaaS и MVP за 4 до 8 недељаЧеста питања
Зашто ми се јавља Модуле нот фоунд када је пакет инсталиран?
Најчешће зато што команда користи друго окружење од оног у које је пакет инсталиран. Проверите да ли је виртуелно окружење активно или да ли сте у правом фолдеру пројекта.
Да ли је безбедно обрисати node_модулес и package-lock.json?
Уобичајено јесте, али прво направите резервну копију пројекта или проверите да је сачуван у Git репозиторијуму. Брисање `package-lock.json` може да промени верзије зависности; након брисања поново покрените `npm install` да се зависности инсталирају из `package.json`.
Како да знам који модул недостаје ако грешка није јасна?
Покрените апликацију из терминала и прочитајте последњу линију грешке; ту је обично назив модула. У Pythonu можете покренути `python -v` за детаљнији испис увоза.