GitHub hat am 9. Juni 2026 drei Breaking Changes für npm 12 angekündigt, das für Juli 2026 erwartet wird. Install-Skripte von Abhängigkeiten laufen dann nur nach Freigabe, Git- und Remote-URL-Abhängigkeiten werden standardmässig nicht mehr aufgelöst. Teams können mit npm 11.16.0 oder neuer die Warnungen auswerten und per npm approve-scripts eine Liste in der package.json pflegen.

Mit npm 12 führt ein npm install nicht mehr automatisch fremden Code aus. GitHub hat die Änderung am 9. Juni 2026 angekündigt. Teams sollten ihre Freigabeliste anlegen, bevor die neue Version ihre Builds erreicht.
Das Wichtigste in Kürze
- Install-Skripte sind künftig aus. Der Schalter
allowScriptssteht in npm 12 standardmässig auf aus. - Git-Abhängigkeiten werden nicht mehr aufgelöst. Das gilt für direkte und indirekte, solange du
--allow-gitnicht setzt. - Remote-URLs brauchen eine Erlaubnis. Tarball-Adressen funktionieren nur mit
--allow-remote. - Mit npm 11.16.0 siehst du die Folgen schon jetzt. Du erhältst Warnungen und pflegst die Freigaben in der
package.json.
Was sich in npm 12 ändert
GitHub hat die Änderungen am 9. Juni 2026 im Changelog angekündigt. Die neue Version erwartet GitHub für Juli 2026. Zuletzt aktualisiert wurde die Meldung laut Seite nicht.
| Änderung | Neuer Standard | Was das bedeutet |
|---|---|---|
allowScripts |
aus | preinstall, install und postinstall laufen nur nach Freigabe |
--allow-git |
none | Git-Abhängigkeiten werden nicht aufgelöst |
--allow-remote |
none | HTTPS-Tarballs und andere URLs brauchen Erlaubnis |
Angaben aus der Ankündigung vom 9. Juni 2026.
Dabei trifft die erste Änderung auch native Module: Ein impliziter node-gyp rebuild läuft ohne Freigabe nicht mehr, wie Gigazine schreibt. Die Git-Sperre soll verhindern, dass eine Abhängigkeit über .npmrc-Einstellungen Code ausführt. Den Schalter --allow-git gibt es ab npm 11.10.0, --allow-remote ab 11.15.0.
Was Entwickler jetzt tun
So bereitest du deine Projekte vor:
- Aktualisiere auf npm 11.16.0 oder neuer.
- Führe deine normale Installation aus und lies die Warnungen zu betroffenen Paketen.
- Prüfe die Liste mit
npm approve-scripts --allow-scripts-pending. Genehmige nur vertrauenswürdige Pakete. - Übernimm die entstandenen Einträge aus der
package.jsonins Repository, damit die Build-Pipeline dieselben Regeln nutzt.
Zudem lohnt ein Blick auf Pakete, die du per Git oder URL einbindest. Prüfe, ob eine Version aus der Registry reicht. Sonst musst du die Option gezielt setzen.
Auch an anderer Stelle der Lieferkette werden die Regeln strenger, wie der Artikel zu fixierten Workflow-Lockfiles in GitHub Actions zeigt.
Fazit
npm 12 schliesst ein bekanntes Einfallstor, kostet aber Aufwand bei Projekten mit nativen Modulen. Wer die Freigabeliste jetzt pflegt, erlebt nach dem Upgrade keine Überraschung. Starte noch diese Woche mit einem Testlauf unter npm 11.16.0.
Quellen: GitHub Changelog, Gigazine. Foto: fancycrave1 / Pixabay. Stand: 9. Juni 2026.
Recherche und Entwurf KI-gestützt, geprüft und freigegeben von Andreas Brauckmann · So arbeitet die Redaktion
Änderungshistorie
- — Artikel veröffentlicht.