Sådan sletter du node_modules på Mac uden at miste dit projekt
AskClean-teamet · Opdateret 2026-08-05
Du kan slette et projekts node_modules, hvis package.json, den rigtige lockfil, workspace-konfigurationen og alle nødvendige pakkekilder stadig er tilgængelige. Mål hvert projekt, stop aktive processer, og flyt kun den kontrollerede node_modules-mappe til Papirkurven. Geninstaller med samme pakkehåndtering, og tøm først Papirkurven, når build, test og app virker igen. npm's delte cache er en anden lagerkategori.

Skeln mellem afhængigheder og projektfiler
node_modules er ét projekts installerede afhængighedstræ. Når mappen er fjernet, kan projektet ikke bygge eller køre, før afhængighederne er installeret igen. package.json, lockfiler, pnpm-workspace.yaml, .npmrc, patches, konfiguration, kildekode og Git-historik er byggegrundlaget og må ikke slettes. npm's delte downloadcache ligger normalt under ~/.npm; den er ikke en del af node_modules og skal vurderes separat.
Kontrollér at projektet kan genskabes
En lockfil gør geninstallationen mere forudsigelig, men er ikke en sikkerhedskopi af pakkerne. Find projektets pakkehåndtering og version, og kontrollér adgang til private pakkeregistre, VPN, Git- og file:-afhængigheder, lokale workspaces, eksterne downloads og værktøjer til at bygge platformafhængig kode. npm v12 læser ikke npm-shrinkwrap.json. Hvis det er projektets eneste lockfil, og package-lock.json ikke findes, kan den omdøbes til package-lock.json, fordi formatet er det samme. Overskriv aldrig en eksisterende package-lock.json; afklar i stedet forskellen som en særskilt, gennemgået ændring.
- Gå til projektroden, kør pwd, og kontrollér, at det er det rigtige repository.
- Bekræft package.json, den rigtige lockfil, packageManager-feltet og workspace-filerne; kontrollér git status, og sikkerhedskopiér lokale ændringer. Omdøb kun npm-shrinkwrap.json til package-lock.json til npm v12, hvis den er projektets eneste lockfil, og målet ikke findes.
- Kontrollér pakkehåndteringens version samt adgang til private pakkeregistre, Git-kilder, lokale pakker, eksterne downloads og byggeværktøjer.
- Stop udviklingsservere, test-watchere, installationer startet af editoren og andre processer, der bruger node_modules.
- Mål mappen, flyt kun node_modules til Papirkurven, geninstaller fra den rigtige rod, og kør projektets build, test, lint og startprocedure.
Brug aldrig node_modules som eneste kopi af en manuel rettelse eller en utilgængelig afhængighed. Det indhold forsvinder ved sletning og kommer ikke tilbage fra package.json eller en lockfil.
Slet kun den bekræftede mappe
Mål fra den kontrollerede projektrod med du -sh ./node_modules, og flyt kun den pågældende mappe til Papirkurven i Finder — aldrig den overordnede projektmappe. rm -rf ./node_modules går uden om Papirkurven og kan ikke fortrydes; kontrollér først roden igen med pwd, og brug aldrig ukontrolleret find-output, jokertegn eller en tom variabel som mål. I et monorepo kan node_modules i roden betjene alle workspaces, så hele repoet skal behandles som ét afhængighedssystem.
Geninstaller, test og mål igen
Kør npm ci fra den rod, hvor package-lock.json er autoritativ. Brug ellers repoets fastlåste arbejdsgang: f.eks. pnpm install --frozen-lockfile, yarn install --immutable, yarn install --frozen-lockfile for Yarn Classic eller bun install --frozen-lockfile. En vellykket installation er ikke nok: kør projektets build, test, lint og startprocedure. Hvis noget fejler, kan mappen gendannes fra Papirkurven, mens du undersøger adgang, netværk, versioner, native værktøjskæder og lockfilen.
Beslutningsgrundlag og slettegrænser
Find store node_modules-mapper, beskyt kildekode og lockfiler, fjern afhængigheder projekt for projekt, og geninstaller sikkert med npm, pnpm, Yarn eller Bun.
| Element eller handling | Kontrollér her | Konsekvens |
|---|---|---|
| Skeln mellem afhængigheder og projektfiler | <projekt>/node_modules | node_modules er ét projekts installerede afhængighedstræ. Når mappen er fjernet, kan projektet ikke bygge eller køre, før afhængighederne er installeret igen. package.json, lockfiler, pnpm-workspace.yaml, .npmrc, patches, konfiguration, kildekode og Git-historik er byggegrundlaget og må ikke slettes. npm's delte downloadcache ligger normalt under ~/.npm; den er ikke en del af node_modules og skal vurderes separat. |
| Kontrollér at projektet kan genskabes | package.json + lockfil + workspace-konfiguration | En lockfil gør geninstallationen mere forudsigelig, men er ikke en sikkerhedskopi af pakkerne. Find projektets pakkehåndtering og version, og kontrollér adgang til private pakkeregistre, VPN, Git- og file:-afhængigheder, lokale workspaces, eksterne downloads og værktøjer til at bygge platformafhængig kode. npm v12 læser ikke npm-shrinkwrap.json. Hvis det er projektets eneste lockfil, og package-lock.json ikke findes, kan den omdøbes til package-lock.json, fordi formatet er det samme. Overskriv aldrig en eksisterende package-lock.json; afklar i stedet forskellen som en særskilt, gennemgået ændring. |
| Slet kun den bekræftede mappe | Papirkurv / geninstallation med pakkehåndtering | Mål fra den kontrollerede projektrod med du -sh ./node_modules, og flyt kun den pågældende mappe til Papirkurven i Finder — aldrig den overordnede projektmappe. rm -rf ./node_modules går uden om Papirkurven og kan ikke fortrydes; kontrollér først roden igen med pwd, og brug aldrig ukontrolleret find-output, jokertegn eller en tom variabel som mål. I et monorepo kan node_modules i roden betjene alle workspaces, så hele repoet skal behandles som ét afhængighedssystem. |
| Geninstaller, test og mål igen | build + test + start af app | Kør npm ci fra den rod, hvor package-lock.json er autoritativ. Brug ellers repoets fastlåste arbejdsgang: f.eks. pnpm install --frozen-lockfile, yarn install --immutable, yarn install --frozen-lockfile for Yarn Classic eller bun install --frozen-lockfile. En vellykket installation er ikke nok: kør projektets build, test, lint og startprocedure. Hvis noget fejler, kan mappen gendannes fra Papirkurven, mens du undersøger adgang, netværk, versioner, native værktøjskæder og lockfilen. |
FAQ
Er det sikkert at slette node_modules på en Mac?
Som regel, hvis package.json, den rigtige lockfil, workspace-filer, kildekode, konfiguration og alle nødvendige pakkekilder er intakte. Projektet virker først igen, når geninstallationen og kontrollerne er gennemført.
Skal package-lock.json slettes sammen med node_modules?
Nej. package-lock.json er input til en forudsigelig npm-installation og skal bevares. npm v12 læser ikke npm-shrinkwrap.json. Omdøb den kun, hvis den er projektets eneste lockfil, og package-lock.json ikke allerede findes; overskriv aldrig en eksisterende lockfil.
Er node_modules det samme som npm-cachen?
Nej. node_modules er installerede afhængigheder i ét projekt; ~/.npm er standardplaceringen for en delt downloadcache. Hvis den ene kategori fjernes, slettes den anden ikke. Vurder dem som to separate opgaver.
Kilder