Så raderar du node_modules på Mac utan att förlora projektet
AskClean-teamet · Uppdaterad 2026-11-02
Du kan radera node_modules om package.json, rätt låsfil, källkod och konfiguration finns kvar och alla beroenden fortfarande går att hämta. Mät varje projekt, stoppa aktiva processer och flytta bara den node_modules-mapp du har kontrollerat till papperskorgen. Installera sedan om med samma pakethanterare och töm papperskorgen först när bygget, testerna och appen fungerar igen. Blanda inte ihop node_modules med npm:s delade nedladdningscache.

Skilj node_modules från projektfilerna
node_modules innehåller ett projekts installerade beroendeträd och går under rätt förutsättningar att återskapa. Efter en radering kan projektet varken köras eller byggas förrän installationen är klar. package.json, låsfiler, källkod, konfiguration, patchar, workspace-filer och Git-historik är underlaget för återuppbyggnaden och får inte tas bort. Den delade npm-cachen under ~/.npm är en separat lagringskategori: att rensa den ena tar inte bort den andra.
Kontrollera att beroendena verkligen kan återskapas
En låsfil gör ominstallationen mer förutsägbar men är ingen säkerhetskopia av paketen. Kontrollera vilken pakethanterare och version projektet ska använda samt åtkomsten till privata paketregister, VPN, Git- och file:-beroenden, lokala workspaces, externa hämtningar och kompilatorverktyg för native-moduler. npm v12 läser inte längre npm-shrinkwrap.json. Om den filen är projektets enda låsfil byter du namn på den till package-lock.json, eftersom formatet är identiskt; skriv aldrig över en befintlig package-lock.json. Ändringar som bara finns i node_modules försvinner vid radering.
- Öppna Terminal i projektroten, kör pwd och du -sh ./node_modules och notera även ledigt utrymme i macOS.
- Kontrollera package.json, rätt låsfil, workspace-konfiguration och lokala ändringar; om npm-shrinkwrap.json är den enda låsfilen i ett äldre projekt byter du namn på den till package-lock.json innan du använder npm v12, utan att skriva över en befintlig fil.
- Bekräfta åtkomsten till privata paketregister, Git- och file:-beroenden, lokala paket, externa hämtningar och byggverktyg, och stoppa alla processer som använder node_modules.
- Flytta endast den kontrollerade node_modules-mappen till papperskorgen och installera om från rätt projektrot med projektets pakethanterare och låsfil.
- Kör bygge, tester, lintning och appstart, mät lagringen igen och töm papperskorgen först därefter.
Använd aldrig node_modules som enda kopia av ett paket eller en manuell ändring. Om ett visst beroende inte längre går att hämta och inte finns arkiverat någon annanstans kan raderingen göra ett äldre projekt obrukbart.
Radera exakt en kontrollerad beroendemapp
Flytta bara node_modules i det bekräftade projektet till papperskorgen i Finder, aldrig den överordnade projektmappen. rm -rf ./node_modules går förbi papperskorgen och kan inte ångras, så kontrollera projektroten igen med pwd. Kör npm ci där package-lock.json styr, eller projektets motsvarande installation för pnpm, Yarn eller Bun som inte får ändra låsfilen. Behandla ett monorepo som ett enda beroendesystem utifrån låsfilen i roten. AskClean kan visa stora node_modules-mappar som projektartefakter, men det du bekräftar där raderas permanent – vill du ha ett återställningsfönster flyttar du mappen till papperskorgen själv.
Installera om och verifiera hela projektet
En lyckad installation visar inte ensam att projektet är återställt. Kör dokumenterade byggkommandon, tester, lintning och startflöden; native-moduler och livscykelskript kan sluta fungera efter en ändring i verktygskedjan. Återställningen kräver hämtning, uppackning, länkning och ibland kompilering. Vid fel återställer du mappen från papperskorgen och felsöker åtkomst, nätverk, versioner och låsfil innan du rensar nästa projekt.
Raderingsgränser och återställningskostnad
Hitta stora node_modules-mappar, skydda källkod och låsfiler, radera beroenden projektvis och installera om säkert med npm, pnpm, Yarn eller Bun.
| Objekt eller åtgärd | Var eller hur du kontrollerar | Följd |
|---|---|---|
| Skilj node_modules från projektfilerna | Projektets node_modules-mapp | node_modules innehåller ett projekts installerade beroendeträd och går under rätt förutsättningar att återskapa. |
| Kontrollera att beroendena verkligen kan återskapas | package.json + låsfil + workspace-konfiguration | En låsfil gör ominstallationen mer förutsägbar men är ingen säkerhetskopia av paketen. |
| Radera exakt en kontrollerad beroendemapp | Papperskorgen / ominstallation med pakethanteraren | Flytta bara node_modules i det bekräftade projektet till papperskorgen i Finder, aldrig den överordnade projektmappen. |
| Installera om och verifiera hela projektet | Bygge + tester + appstart | En lyckad installation visar inte ensam att projektet är återställt. |
Vanliga frågor
Är det säkert att radera node_modules på en Mac?
Oftast, om package.json, rätt låsfil, workspace-filer, källkod och alla paketkällor finns kvar. Projektet fungerar inte igen förrän ominstallationen och kontrollerna har lyckats, så töm papperskorgen först när projektet fungerar.
Ska jag radera package-lock.json tillsammans med node_modules?
Nej. package-lock.json behövs för en förutsägbar npm-installation och är det npm ci utgår från. npm v12 läser inte längre npm-shrinkwrap.json; har ett äldre projekt bara den filen, som har samma format, byter du namn på den till package-lock.json. Skriv aldrig över en befintlig package-lock.json.
Är node_modules och npm-cachen samma sak?
Nej. node_modules är ett projekts installerade beroendeträd. Den delade npm-cachen finns normalt under ~/.npm. När du raderar den ena kategorin försvinner inte den andra.
Källor