Node.js installieren testen und nutzen

Zuletzt aktualisiert am 2. Februar 2024 3 Minuten

Hier geht es nicht nur um Node, sondern auch um NPM. NPM ist ein Paketmanager. Mit seiner Hilfe lassen sich nicht nur Node basierte Applikationen schreiben, sondern er ist auch super nützlich um zB. in PHP-Applikationen JavaScript-Bibliotheken zu verwenden, und zu managen. Ich nutze das also um JavaScript Anteile meiner PHP Projekte zu verwalten, siehe: Dependency Management/

Node installieren

Node herunterladen

Über Homebrew geht es ganz einfach:

brew install node

Alternativ:

von https://nodejs.org/en/external link

Ohne Adminrechte nehme ich die Binaries als zip verpackt, mit Administratorrechten bevorzuge ich den Installer.

zip entpacken und Umgebungsvariable Path setzen

  • Windows ohne Admin-Rechte: Öffne Run with dialog (Win + R)-Shortcut: rundll32 sysdm.cpl,EditEnvironmentVariables, und dort den Pfad zur node.exe setzen. Zb. C:\node-v10.15.3-win-x64;
  • OS-X …

Version prüfen

node -v
node --version
npm -v

Node aktualisieren

https://bytearcher.com/articles/using-npm-update-and-npm-outdated-to-update-dependencies/external link

npm outdated
npm update --save

alternative Möglichkeit? npm install -g npm

Error: Cannot find module ‘module_name’

Dann fehlen Node.js Module im Projekt. Im Projekt-Verzeichnis, im Terminal…

npm install --save module_name

Prüfung auf gefundene Schwachstellen

npm audit
npm audit fix

npm Befehle

  • npm ls - Alles auflisten, was im aktuellen Verzeichnis installiert ist
  • npm list - dito, zeigt den gesamten Abhängigkeitenbaum
  • npm ls --depth 0 - Zeigt nur die erste Ebene, mit den selbst installierten Modulen
  • npm search [search terms] - Suchen in der Registrierung nach Paketen, die mit den Begriffen übereinstimmen

Ein Paket installieren

  • npm install [<name> [<name> ...]] [--save|--save-dev|--save-optional]

Dieser Befehl installiert ein Paket oder mehrere Pakete und alle davon abhängigen Pakete im aktuellen Verzeichnis. Wenn das Paket eine Shrinkwrap-Datei hat, wird die Installation der Abhängigkeiten von dieser gesteuert.

Wenn kein package.json existiert, werden diese Optionen ignoriert. Wenn es existiert, werden sie aktualisiert, falls sie bereits vorhanden sind.

  • --save - Pakete die zur Laufzeit verwendet werden (jQuery, React, …) Der Code des Pakets wird im Projekt gespeichert, und ein Eintrag in der package.json gemacht.
  • --save-dev - Pakete die zur Entwicklung benötigt werden (zB für Test-Frameworks, Build-Tools, …) Der Code des Pakets wird im Projekt gespeichert, und ein Eintrag in der package.json gemacht.
  • --speichern-optional - Das Paket wird in Ihren optionalen Abhängigkeiten erscheinen.
  • --global - Das Paket wird global installiert (ZB. für Kommandozeilenwerkzeuge wie wie gulp oder Webpack)

Installiere ein Paket in der Version

  • npm install <module-name>@<version-name>

NPM höchst selber aktualisieren: npm install -g npm

Paket deinstallieren

Alles, was npm in seinem Namen installiert hat, wird vollständig entfernt.

  • npm uninstall

Pakete aktualisieren

Aktualisiere alle aufgeführten Pakete auf die neueste Version (angegeben durch das Tag config). Installiert auch fehlende Pakete.

  • npm update [<name> [<name> ...]]

Aktualisieren der global npm version

  • npm update -g

Zeige Dokumentation

Zeige die README.md / documentation / npmjs.org page der angegbenen Bibliothek

  • npm docs <module-name>

Paket-Testsuit ausführen

Ausführen der Paket-Testsuite, basierend auf der Einrichtung in package.json

"scripts" : {"test" : "node testfile.js"}

veraltete Bibliotheken auflisten

Liste veralteter Bibliotheken im Vergleich zu den aktuell installierten node_modules

  • npm outdated

Abhängigkeitsversionen sperren

  • npm shrinkwrap

package.json-Datei erstellen

Interaktives Erstellen einer package.json-Datei. Stellt ein paar Fragen und schreibt dann ein package.json für dich. Wenn du bereits eine package.json-Datei hast, wird diese zuerst gelesen und standardmäßig auf die darin enthaltenen Optionen gesetzt.

  • npm init

Installiert ein git-spezifisches release

  • npm install git://github.com/Marak/colors.js#v0.6.0

Lokales Bearbeiten einer Abhängigkeit

  • npm edit <module_name>

Setup-Editor für npm edit

  • npm config set editor "sublime"

Ein Paket nicht unter dem standardmäßigen “latest”-Tag veröffentlichen

  • npm publish --tag beta

Weiterführende Links

Wo finde ich npm Pakete?

Zum Beispiel hier:

Projekte auf github.comexternal link haben eigentlich immer die entsprechenden npm Befehle in der Dokumentation gelistet. Ich denke das ist bei anderen Repositories genauso. Einige interessante Projekte: