Node Version Manager

https://docs.microsoft.com/en-us/windows/nodejs/setup-on-wsl2

sudo apt update && sudo apt upgrade
sudo apt-get install curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

# bash schließen und erneut öffnen

Achtung: Wenn bereits nvm unter Windows installiert wurde, findet die WSL diesen npm Befehl und überspringt die weitere Installation. Allerdings funktioniert der npm Befehl von Windows nicht in der WSL (Fehlermeldung: node-cli irgendwas)

Die Lösung ist hier mit which npm das gefundene Installations-Verzeichnis zu suchen (wahrscheinlich unter /mnt/c/../nodejs) - dieses Verzeichnis im Windows zu öffnen unter den npm Befehl temporär zbsp auf npm2 umzubennen und dann das curl script oben ausführen. Anschließend kann man den Befehl wieder richtigstellen.

Installation der benötigten node version

nvm install 14.15.4
nvm use 14.15.4

# kurzer test - die installation sollte jeweils unter /home/username zu finden sein
# nicht unter /mnt/c/...
which node
node --version
which npm
npm -version

App installieren

Danach ins Projekt Verzeichnis wechseln und die Applikation installieren und starten:

cd app
# entsprechenden branch auswählen
git checkout develop
npm install
npm run start

Achtung: Performance-technisch und funktional ist ein riesengroßer Unterschied ob das git Repository und damit die node Applikation unter /mnt/c/users/.../ oder unter /home/../ liegt. Deutlich schneller geht das ganze, wenn alles in der wsl vorhanden ist. Mit dem Nachteil, dass man dann nicht mehr so leicht über Windows darauf zugreifen kann.

Ein Performancevergleich

ein kompleter Test einer mittelgroßen Applikation mit ca. 20 Libraries:

  • Windows: 3min 2sek
  • WSL im Windows Verzeichnis: >10min
  • WSL im wsl Verzeichnis: 1min 6sek !!

frischer Produktions-Build:

  • Windows: 1min 18sek
  • WSL im wsl Verzeichnis: 43sek

vscode

beim start vscode wird die extension zur Verbindung der WSL2 gleich vorgeschlagen:

https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl

see more about working remote: https://code.visualstudio.com/docs/remote/wsl-tutorial

git

Ablauf siehe: https://docs.microsoft.com/en-us/windows/wsl/tutorials/wsl-git

  • git in windows installieren: https://gitforwindows.org/
  • git in der WSL installieren
    sudo apt-get install git
  • Benutzer + Email in WSL und der PowerShell setzen:
    git config --global user.name "Your Name"
    git config --global user.email "youremail@domain.com"
  • Befehl zum Setzen des Password Managers in der WSL:
    git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"
  • git pull + einmalige Eingabe des Benutzers + Passworts
  • Spätere Änderung des Passworts über Anmeldeinformationsverwaltung
    siehe: https://stackoverflow.com/questions/15381198/remove-credentials-from-git