Entwicklungsumgebung mit WSL2 unter Windows einrichten

5 Minuten
  Kommentare Kaffe spendieren
09.09.2023 von Johannes Benkert

Um schnell und unkompliziert mit der Entwicklung von Apps, Tools oder Websites zu beginnen, empfehle ich die Einrichtung von WSL unter Windows.

Was ist WSL bzw. WSL2?

WSL steht für “Windows Subsystem für Linux”, und die “2” bezeichnet die zweite Version. Das bedeutet, dass unter Windows ein Linux-Betriebssystem läuft. Der Vorteil besteht darin, dass du das Linux-System direkt aus Windows starten oder parallel dazu betreiben kannst. Es wird weder ein Dualboot noch etwas Ähnliches benötigt.

Der Vorzug von WSL ist, dass dein Windows ganz normal weiterläuft und du auf alle Programme weiterhin zugreifen kannst. Lediglich die “Serverumgebung”, also zum Beispiel ein Apache- oder Node-Server, läuft auf Linux. Wie genau das funktioniert, wird im Laufe des Tutorials klar werden.

Voraussetzungen für WSL2

Es gibt nicht viele Voraussetzungen, und die meisten sollten in der Lage sein, diese zu erfüllen:

  • Administrationsrechte für Windows
  • Windows 10 (ab Build 18917) oder 11 mit 64-Bit-Architektur
  • 30 Minuten Zeit

Installation von WSL2

Konsole öffnen

Öffne die Kommandozeile oder PowerShell mit Administratorrechten. Drücke dazu die Windows-Taste und tippe cmd für die Kommandozeile ein. Klicke dann mit der rechten Maustaste auf das Programm und wähle “Als Administrator ausführen”. Für die PowerShell gibst du PowerShell ein und verfährst dann ebenfalls so.

Installationsbefehl eingeben

Um WSL zu installieren, gib jetzt folgenden Befehl ein:

wsl --install

Daraufhin werden WSL2 und Ubuntu als Linux-Distribution installiert. Während des Installationsprozesses kannst du einen Benutzernamen und ein Passwort für deinen Linux-Benutzer festlegen. Dieser hat automatisch Root-Rechte (also Administratorrechte). Du wirst das Passwort bei Linux oft benötigen, wähle daher ein Passwort, das nicht zu komplex ist. Dein PC wird im Verlauf auch neu gestartet.

Verfügbare Linux-Distributionen anzeigen

Natürlich bist du nicht auf Ubuntu beschränkt. Es steht eine Vielzahl von anderen Linux-Distributionen zur Verfügung.

wsl --list --online

Die Liste sieht in etwa so aus: Screenshot WSL2

Eine andere Linux-Distribution installieren

wsl --install -d <DistroName>

Zugriff auf Ubuntu-Konsole

Um jetzt auf die Konsole deiner gewählten Linux-Distribution zugreifen zu können, drücke einfach die Windows-Taste und gib Ubuntu ein. Klicke auf die App: Ubuntu starten … und schon öffnet sich die Konsole.

Alternativ kannst du auch die Windows-Taste drücken, cmd eingeben und ein neues Tab mit Ubuntu öffnen: Ubuntu starten Alternative

Apps in grafischer Oberfläche starten

Prinzipiell nutzt man WSL nur über die Konsole. In Ausnahmefällen kann es jedoch sinnvoll sein, auch auf Programme mit einer grafischen Benutzeroberfläche zugreifen zu können. Daher ist es möglich, Programme auch mit einer grafischen Oberfläche zu starten. Für weitere Details verweise ich auf die offizielle Microsoft-Anleitung, wo das Vorgehen sehr gut dokumentiert ist.

Google Chrome über WSL öffnen

Da ich fürs Website Crawling mit Puppeteer immer mal wieder Captchas eingeben muss, hier kurz die Anleitung, wie ihr Google Chrome installieren und starten könnt:

  1. Öffne die Konsole und wechsle zum temprären Ordner:
cd /tmp
  1. Lade die Installationsdatei via wget herunter:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
  1. Installiere Google Chrome mit dpkg:
sudo dpkg -i google-chrome-stable_current_amd64.deb
  1. Führe den folgenden Befehl aus, um die Installation zu reparieren:
sudo apt install --fix-broken -y
  1. Installiere nochmal Google Chrome:
sudo dpkg -i google-chrome-stable_current_amd64.deb
  1. Jetzt kannst du Chrome mit dem Befehl google-chrome starten. Es dauert kurz und dann sollte sich Google Chrome öffnen: Chrome in WSL2

Ich bin mir nicht sicher, ob Punkt 4 und 5 zwingend notwendig sind. Sie werden aber in der Dokumentation erwähnt, daher habe ich sie der vollständigkeithalber auch aufgeführt.

Wie geht es jetzt weiter?

Du hast jetzt eine vollständige Linux-Distribution innerhalb von Windows installiert. Um mit dem Entwickln gleich loslegen zu können, empfehle ich dir eine der folgenden Anleitungen:

LAMP auf WSL2 bzw. Ubuntu installieren

Falls du eher klasisch mit PHP und MySQL arbeiten willst, empfehle ich dir den LAMP-Stack (Linux, Apache2, MySQL, PHP) zu installieren. Das geht so analog zu einer normalen Linux installation.

Eine Schritt für Schritt Anleitung findest du unter [Anleitung folgt]

Node auf WSL bzw. Ubuntu installieren

Falls du mit JavaScript-Projekte (z.B. Astro, Solid, Svelte, React, etc.) starten möchtest, solltest du dir Node.js installieren.

Wie das geht erfährst du unter [Anleitung folgt]

Bun auf WSL bzw. Ubuntu installieren

Als Alternative zu Node kannst du auch Bun in Erwägung ziehen. Bun zeichnet sich durch schnellere Startzeiten und eine verbesserte Laufzeitleistung aus, dank der Nutzung der JavaScriptCore-Engine von WebKit. Zudem bietet es eine schlankere Codebasis mit integrierten Entwicklungswerkzeugen, was es zu einer effizienten Wahl für moderne JavaScript-Projekte macht.

Wie du Bun installierst, erfährst du unter [Anleitung folgt]

VSCode mit WSL2

Um jetzt mit dem Entwickeln starten zu können, benötigst du noch eine Entwicklungsumgebung. Dafür empfehle ich dir Visual Studio Code (VSCode). VSCode ist kostenlos, umfangreich, erweiterbar und super schnell.

Wie du VSCode für WSL und Windows einrichtest, erkläre ich dir unter [Anleitung folgt].

Vergleich mit Alternativen

Wenn du mit der Einrichtung einer Entwicklungsumgebung auf Windows beginnst, wirst du bald feststellen, dass WSL2 nicht die einzige Option ist. Du hast vielleicht auch von virtuellen Maschinen oder Dual-Boot-Systemen gehört. Bevor du dich festlegst, werfen wir einen Blick darauf, wie WSL2 im Vergleich zu diesen Alternativen steht und warum es deine erste Wahl sein könnte.

WSL2 vs. Virtuelle Maschinen

Virtuelle Maschinen (VMs) sind eine etablierte Lösung, um unterschiedliche Betriebssysteme auf einer einzigen Hardware zu betreiben. Sie ermöglichen eine vollständige Isolierung des Gastbetriebssystems vom Host-Betriebssystem, was zusätzliche Sicherheit bietet. Allerdings kann dies auch zu einer erheblichen Belastung der Systemressourcen führen, insbesondere wenn mehrere VMs gleichzeitig betrieben werden. Im Gegensatz dazu integriert sich WSL2 nahtlos in dein Windows-System, bietet eine schnellere Leistung und erfordert weniger Ressourcen, was es zu einer effizienteren Option für die Entwicklung macht.

WSL2 vs. Dual-Boot-Systeme

Dual-Boot-Systeme ermöglichen es dir, zwei verschiedene Betriebssysteme auf demselben Computer zu installieren, wobei du beim Start des Computers auswählen kannst, welches System du nutzen möchtest. Während dies eine hervorragende Lösung für die Nutzung vollständiger Betriebssystemfunktionalitäten ist, kann es den Entwicklungsprozess durch den erforderlichen Neustart zwischen den Systemen verlangsamen. WSL2 hingegen erlaubt dir, Linux direkt unter Windows zu betreiben, wodurch du die Möglichkeit hast, Tools und Anwendungen aus beiden Welten nahtlos zu nutzen, ohne den Zeitverlust durch das Neustarten.

Fragen und Kommentare

Nutze gerne unten die Kommentarfunktion, falls du fragen hast oder noch irgendetwas unklar ist. Natürlich freue ich mich auch, wenn du noch andere Lösungen oder Vorschläge hast und diese mit uns teilst.