Preskoči na sadržaj

Module not found greška: zašto se javlja i kako je ispraviti

Lako 10 min Ažurirano:

Kratak odgovor

Greška Module not found znači da program ne može da pronađe modul ili paket koji pokušava da učita. Najčešći uzroci su pogrešno ime ili putanja, modul nije instaliran, pogrešan radni direktorijum ili neusklađeno okruženje. Rešenje je da proverite import, instalirate paket i pokrenete projekat iz ispravnog foldera.

Kako se problem prepoznaje

  • Poruka `ModuleNotFoundError: No module named 'x'` u Pythonu
  • Poruka `Error: Cannot find module 'x'` u Node.js
  • Aplikacija se ruši odmah nakon pokretanja
  • Greška se javlja samo na drugoj mašini ili u CI okruženju
  • Import radi u editoru, ali ne i iz terminala

Najčešći uzroci

Modul nije instaliran

Paket koji kod traži nije prisutan u okruženju. To se često dešava kada se `npm install` ili `pip install` ne pokrene nakon preuzimanja projekta.

Pogrešno ime ili putanja

Import sadrži grešku u kucanju, pogrešan relativni put ili nedostaje `__init__.py` u Python paketu. Node.js traži tačan naziv modula u `node_modules`.

Pogrešan radni direktorijum

Komanda se izvršava iz foldera koji nije koren projekta, pa se `node_modules` ili virtuelno okruženje ne vide. Proverite u kom ste folderu pre pokretanja.

Neusklađeno okruženje

Koristite globalni Python umesto virtuelnog okruženja ili drugu Node.js verziju od one koju projekat očekuje. Zavisnosti tada nisu vidljive.

Problemi sa kešom ili instalacijom

Delimično instaliran paket, oštećen `node_modules` ili zastareo `package-lock.json` mogu da dovedu do toga da modul postoji, ali nije dostupan.

Rešenje korak po korak

  1. 1

    Pročitajte tačan naziv modula iz greške

    Poruka u terminalu navodi ime modula koji nedostaje. Zapišite ga i uporedite sa import linijom u kodu. U Node.js greška obično počinje sa Error: Cannot find module, a u Pythonu sa ModuleNotFoundError.

  2. 2

    Proverite da li ste u korenu projekta

    Pokrenite pwd (macOS/Linux), cd u Windows komandnoj liniji ili Get-Location u PowerShell-u da vidite trenutni folder. U njemu treba da postoje package.json za Node.js ili requirements.txt/pyproject.toml za Python. Ako ne postoje, pređite u pravi folder komandom cd putanja/do/projekta.

  3. 3

    Instalirajte zavisnosti

    Za Node.js pokrenite npm install u korenu projekta. Za Python aktivirajte virtuelno okruženje pa pokrenite pip install -r requirements.txt. Ako modul i dalje nedostaje, instalirajte ga pojedinačno: npm install ime-paketa ili pip install ime-paketa.

  4. 4

    Proverite import i putanju

    Uverite se da import odgovara stvarnom nazivu paketa i strukturi foldera. U Pythonu relativni importi zavise od toga odakle se modul pokreće; u Node.js proverite da li putanja počinje sa ./ za lokalne fajlove. Obratite pažnju na velika i mala slova.

  5. 5

    Očistite keš i ponovo instalirajte

    Ako modul postoji ali se ne vidi, pre brisanja napravite rezervnu kopiju projekta ili proverite da je sačuvan u Git repozitorijumu. Zatim obrišite node_modules i package-lock.json pa ponovo pokrenite npm install; brisanje package-lock.json može da promeni verzije zavisnosti. U Pythonu obrišite __pycache__ foldere i ponovo instalirajte paket. Postupak može potrajati.

  6. 6

    Proverite verziju jezika i okruženje

    Pokrenite node -v ili python --version i uporedite sa zahtevima projekta. U Pythonu proverite da li je aktivirano virtuelno okruženje (prompt prikazuje njegovo ime). U Node.js koristite nvm ako je potrebno prebacivanje verzije.

  7. 7

    Testirajte izolovano

    Napravite minimalnu skriptu koja samo uvozi modul i pokrenite je. Ako i tada puca, problem je u instalaciji ili okruženju, a ne u ostatku koda. Ako radi, greška je u putanji ili načinu pokretanja glavne aplikacije.

Kada ništa ne pomogne

Ako ste prošli sve korake i greška ostaje, proverite da li projekat koristi monorepo ili workspace podešavanja, gde se paketi nalaze u drugom folderu. Pogledajte i da li je u pitanju globalna instalacija koja maskira nedostatak lokalne. U Node.js pokrenite npm ls ime-paketa da vidite da li je paket uopšte prisutan u stablu zavisnosti. U Pythonu pip show ime-paketa daje lokaciju instalacije. Ako se greška javlja samo u CI sistemu, uporedite verzije jezika i korake instalacije sa lokalnim okruženjem. Kao poslednju opciju, napravite novo virtuelno okruženje ili svež klon projekta i ponovite instalaciju.

Kako da sprečite da se ponovi

  • Uvek pokrećite `npm install` ili `pip install -r requirements.txt` nakon preuzimanja projekta
  • Zaključajte verzije zavisnosti (`package-lock.json`, `requirements.txt`) i držite ih u repozitorijumu
  • Koristite virtuelno okruženje za Python i `nvm` za Node.js
  • Proverite da li ste u korenu projekta pre pokretanja komandi

Kada je bolje pozvati stručnjaka

Ako greška potiče iz složenog build sistema, monorepa ili CI konfiguracije, ili se ponavlja uprkos svim koracima, obratite se IT podršci da zajedno proverite okruženje i zavisnosti.

Razvoj softvera i proizvoda · Aplikacije po meri, SaaS i MVP za 4 do 8 nedelja

Česta pitanja

Zašto mi se javlja Module not found kada je paket instaliran?

Najčešće zato što komanda koristi drugo okruženje od onog u koje je paket instaliran. Proverite da li je virtuelno okruženje aktivno ili da li ste u pravom folderu projekta.

Da li je bezbedno obrisati node_modules i package-lock.json?

Uobičajeno jeste, ali prvo napravite rezervnu kopiju projekta ili proverite da je sačuvan u Git repozitorijumu. Brisanje `package-lock.json` može da promeni verzije zavisnosti; nakon brisanja ponovo pokrenite `npm install` da se zavisnosti instaliraju iz `package.json`.

Kako da znam koji modul nedostaje ako greška nije jasna?

Pokrenite aplikaciju iz terminala i pročitajte poslednju liniju greške; tu je obično naziv modula. U Pythonu možete pokrenuti `python -v` za detaljniji ispis uvoza.

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