Vielleicht läufst du täglich pacman -Syu — aber wann hast du zuletzt jeden Node-Major in nvm aktualisiert?
update-nvm geht die bereits installierten Majors durch (oder die, die du explizit angibst), installiert den neuesten Patch, frischt globale npm-Pakete auf, upgraded npm mit --latest-npm (Standard: an) und führt corepack enable aus. Liegt ein Major schon auf dem neuesten Patch, bleibt Node unberührt, Globals werden trotzdem aktualisiert — außer mit --skip-npm.
Installation
| |
Benötigt nvm und curl. ~/.local/bin sollte in deinem PATH liegen.
Quellcode: static/scripts/update-nvm.sh.
Schnellstart
| |
Ablauf
- Ziel-Majors bestimmen (installiert,
--ltsoder explizit). - Pro Major den neuesten Release via nvm installieren, sofern nicht schon aktuell (oder
--force/--npm-only). - Ohne
--skip-npmglobale npm-Pakete auffrischen. - Ohne
--no-latest-npmnpm auf die neueste von Node unterstützte Version bringen. - Ohne
--no-corepackcorepack enableausführen. - Mit
--pruneältere Patches derselben Major-Linie entfernen.
Fehlt ein Major noch, fragt das Skript, ob Globals von einem anderen Major kopiert werden sollen. Enter = frische Installation. Für nicht-interaktive Installationen: NVM_REINSTALL_FROM.
Befehle und Optionen
| Option | Beschreibung |
|---|---|
| (ohne Args) | Alle installierten Majors |
VERSION … | Angegebene Majors aktualisieren oder installieren |
--lts | Nur lts/* |
--force, -f | Neu installieren, auch wenn der Patch aktuell ist |
--prune | Ältere Patches innerhalb jeder Major-Linie entfernen |
--latest-npm | npm upgraden (Standard: an) |
--no-latest-npm | Mit Node geliefertes npm behalten |
--no-corepack | corepack enable überspringen |
--skip-npm | Nur Node; keine Globals |
--npm-only | Nur npm und Globals |
--quiet, -q | Wenig Ausgabe; keine Installationsfragen |
--dry-run, -n | Nur anzeigen, nichts ändern |
--self-update | Skript von omid.dev aktualisieren |
--version | Skriptversion ausgeben |
-h, --help | Hilfe |
Umgebungsvariablen
| Variable | Beschreibung |
|---|---|
NVM_DIR | nvm-Verzeichnis (Standard: ~/.nvm) |
NVM_UPDATE_VERSIONS | Leerzeichengetrennte Versionen (ignoriert mit --lts) |
NVM_REINSTALL_FROM | Bei nicht-interaktiver Neuinstallation Globals von diesem Major kopieren |
UPDATE_NVM_SCRIPT_URL | Alternative URL für --self-update |
UPDATE_NVM_SKIP_SELF_CHECK | Mit 1 Prüfung auf neuere Skriptversion überspringen |
Cron-Beispiel
0 3 * * 0 ~/.local/bin/update-nvm -q --lts --prune
Self-Update
| |
Verwandt
- Kurznotiz: /notes/178818221780902383/
- Quelle:
static/scripts/update-nvm.sh