Hvis du jobber med Node.js og npm, kan du få en feilmelding som sier `npm ERR! enoent` etterfulgt av en filbane. Denne feilen betyr at npm ikke kan finne eller åpne en fil eller katalog som er nødvendig for å utføre en kommando. I denne artikkelen vil vi forklare hva som forårsaker denne feilen og hvordan du kan fikse den.
Hva er npm ERR! enoent?
Koden `ENOENT` står for **Error NO ENTry** eller **Error NO ENTity**. Det er en vanlig feilkode i Node.js som indikerer at en fil eller katalog ikke eksisterer eller ikke er tilgjengelig. Feilmeldingen inkluderer vanligvis filbanen som forårsaket feilen og systemanropet som mislyktes, for eksempel”open”,”rename”eller”unlink”.
Feilen”npm ERR! enoent` er relatert til at npm ikke kan finne en fil eller katalog som kreves for å kjøre en kommando. Hvis du for eksempel kjører `npm start` uten å ha en `package.json`-fil i prosjektkatalogen, vil du få denne feilmeldingen:
“`bash
$ npm start
npm FEIL! kode ENOENT
npm FEIL! syscall åpen
npm ERR! sti/nsebhastian/Desktop/DEV/n-app/package.json
npm ERR! errno-2
npm FEIL! enoent ENOENT: ingen slik fil eller katalog, åpne ‘/nsebhastian/Desktop/DEV/n-app/package.json’
npm ERR! enoent Dette er relatert til at npm ikke kan finne en fil.
npm ERR! enoent
“`
Feilmeldingen forteller oss at npm prøvde å åpne filen `package.json`, men mislyktes fordi den ikke eksisterer. `package.json`-filen er viktig for å kjøre npm-kommandoer fordi den inneholder metadata og skript for prosjektet ditt. Uten den vet ikke npm hvordan du starter applikasjonen din.
Hvordan fikser du npm ERR! enoent?
For å fikse feilen `npm ERR! enoent`, må du sørge for at filen eller katalogen som npm leter etter eksisterer og kan nås. Avhengig av kommandoen du kjører, kan løsningen variere. Her er noen vanlige scenarier og hvordan du fikser dem:
Scenario 1: Kjører npm start uten package.json
Hvis du prøver å kjøre `npm start` uten å ha en `pakke.json`-filen i prosjektkatalogen din, vil du få feilmeldingen `npm ERR! enoent`. For å fikse dette må du opprette en `package.json`-fil og legge til et `start`-skript til den.
Du kan opprette en `package.json`-fil ved å kjøre `npm init` og følge ledetekstene. Alternativt kan du opprette en grunnleggende `package.json`-fil med dette innholdet:
“`json
{
“name”: “n-app ”,
“version”: “1.0.0”,
“scripts”: {
“start”: “node index.js”
p>
}
}
“`
Sørg for å erstatte verdiene for `navn`, `versjon` og `start` med din egen. `Start`-skriptet skal peke til inngangspunktet til applikasjonen din, for eksempel `index.js`.
Etter å ha opprettet `package.json`-filen, kan du kjøre `npm start` igjen og den skal fungere.
Scenario 2: Kjører npm install med ødelagte node_modules eller package-lock.json
Hvis du prøver å kjøre `npm install` for å installere avhengighetene for prosjektet ditt, men du får feilmeldingen `npm ERR! enoent`, kan det være fordi mappen `node_modules` eller filen `package-lock.json` er ødelagt eller utdatert. For å fikse dette, må du slette dem og kjøre `npm install` igjen.
Du kan slette `node_modules`-mappen og `package-lock.json`-filen ved å kjøre disse kommandoene:
“`bash
slett nodemoduler og package-lock.json
rm-rf node_modules && rm package-lock.json
prøv å installere på nytt avhengigheter
npm install
“`
Dette vil rydde opp i prosjektet og installere de nyeste versjonene av avhengighetene dine.
Scenario 3: Kjører npm-kommandoer fra feil katalog
En annen mulig årsak til feilen `npm ERR! enoent` er at du kjører npm-kommandoer fra feil katalog. Hvis du for eksempel kjører `npm start` fra en overordnet eller underordnet katalog for prosjektet ditt, i stedet for rotkatalogen der filen `package.json` ligger, vil du få denne feilmeldingen.
For å fikse dette, må du endre din nåværende arbeidskatalog til rotkatalogen til prosjektet ditt før du kjører noen npm-kommandoer. Du kan gjøre dette ved å bruke `cd`-kommandoen:
“`bash
endre katalog til roten til prosjektet ditt
cd/nsebhastian/Desktop/DEV/n-app
kjør npm-kommandoer herfra
npm start
“`
Dette vil sikre at npm kan finne `package.json`-filen og utfør kommandoene riktig.
Konklusjon
Feilen `npm ERR! enoent` er relatert til at npm ikke kan finne en fil eller katalog som er nødvendig for å kjøre en kommando. For å fikse denne feilen må du sørge for at filen eller katalogen eksisterer og kan nås. Avhengig av kommandoen du kjører, kan løsningen variere. Noen vanlige scenarier og hvordan du fikser dem er:
– Kjører `npm start` uten å ha en `package.json`-fil i prosjektkatalogen. For å fikse dette, lag en `package.json`-fil og legg til et `start`-skript til den.
– Kjører `npm install` med korrupt `node_modules`-mappe eller `package-lock.json`-fil. For å fikse dette, slett dem og kjør `npm install` igjen.
– Kjører npm-kommandoer fra feil katalog. For å fikse dette, endre din nåværende arbeidskatalog til rotkatalogen til prosjektet ditt før du kjører noen npm-kommandoer.
Vi håper denne artikkelen hjalp deg med å forstå og fikse feilen `npm ERR! enoent`. Hvis du har spørsmål eller tilbakemeldinger, vennligst legg igjen en kommentar nedenfor. Lykke til med kodingen!