ist jetzt verfügbar! Lesen Sie über die neuen Funktionen und Fehlerbehebungen vom November.

Remote-Entwicklung mit Linux

Linux ist eine sehr variable Umgebung, und die große Anzahl von Server-, Container- und Desktop-Distributionen kann es schwierig machen, herauszufinden, was unterstützt wird. Die Remote-Entwicklung von Visual Studio Code hat Voraussetzungen für die spezifische Host-, Container- oder WSL-Distribution, mit der Sie sich verbinden werden.

Die Erweiterungen funktionieren nachweislich, wenn sie mit einer aktuellen stabilen/LTS-Version von verbunden sind

  • Ubuntu 64-Bit x86, ARMv8l (AArch64) (20.04+)
  • Debian 64-Bit x86, ARMv8l (AArch64) (Buster/10+)
  • Raspberry Pi OS ARMv7l (AArch32) 32-Bit (Buster/10+) (früher Raspbian genannt)
  • CentOS / RHEL 64-Bit x86 (8+)
  • Alpine Linux 64-Bit x86 Container oder WSL-Hosts (3.16+) in Dev-Containern, WSL

Die folgenden Nicht-Linux-SSH-Hosts werden ebenfalls unterstützt

Wenn Sie jedoch eine nicht standardmäßige Konfiguration oder eine Downstream-Distribution von Linux verwenden, kann es zu Problemen kommen. Dieses Dokument enthält Informationen zu den Anforderungen sowie Tipps, die Ihnen helfen, auch bei nur Community-unterstützten Konfigurationen einsatzbereit zu sein.

Beachten Sie, dass andere Erweiterungen Abhängigkeiten haben können, die über die hier aufgeführten hinausgehen. Einige Erweiterungen enthalten auch kompilierte native Codes, die möglicherweise nicht unter Alpine Linux, ARMv7 (AArch32) oder ARMv8 (AArch64) funktionieren. Diese Plattformen werden aus diesem Grund als "Vorschau" betrachtet. Wenn Sie auf ein Problem stoßen, das nur mit einer bestimmten Erweiterung auftritt, wenden Sie sich an die Autoren der Erweiterung, um Informationen über deren native Abhängigkeiten zu erhalten.

Lokale Linux-Voraussetzungen

Wenn Sie Linux lokal ausführen, bestimmen die VS Code-Voraussetzungen die meisten Anforderungen.

Zusätzlich haben spezifische Remote-Entwicklungs-Erweiterungen weitere Anforderungen

Voraussetzungen für Remote-Host / Container / WSL-Linux

Die Plattform-Voraussetzungen werden hauptsächlich durch die Version der Node.js-Laufzeitumgebung (und damit der V8 JavaScript-Engine) bestimmt, die in der Serverkomponente enthalten ist, die automatisch auf jedem Remote-Endpunkt installiert wird. Dieser Server hat auch eine Reihe von zugehörigen nativen Node-Modulen, die für jedes Ziel kompiliert und getestet werden müssen. 64-Bit x86 glibc-basierte Linux-Distributionen bieten derzeit die beste Unterstützung unter Berücksichtigung dieser Anforderungen.

Sie können auf Probleme mit bestimmten Erweiterungen mit nativen Abhängigkeiten bei ARMv7l (AArch32) / ARMv8l (AArch64) glibc-basierten Hosts, Containern oder WSL und 64-Bit x86 musl-basiertem Alpine Linux stoßen. Für ARMv7l/ARMv8l enthalten Erweiterungen möglicherweise nur x86_64-Versionen nativer Module oder Laufzeiten in der Erweiterung. Für Alpine Linux funktionieren enthaltene native Codes oder Laufzeiten aufgrund grundlegender Unterschiede bei der Implementierung von libc in Alpine Linux (musl) und anderen Distributionen (glibc) möglicherweise nicht. In beiden Fällen müssen Erweiterungen diese Plattformen explizit unterstützen, indem sie Binärdateien für diese zusätzlichen Ziele kompilieren / einbinden. Bitte reichen Sie ein Problem beim entsprechenden Erweiterungsautor ein, um Unterstützung anzufordern, wenn Sie auf eine Erweiterung stoßen, die nicht wie erwartet funktioniert.

Verteilung Grundlegende Anforderungen Anforderungen für Remote - SSH Hinweise
Allgemein Kernel >= 4.18, glibc >=2.28, libstdc++ >= 3.4.25, tar OpenSSH-Server, bash und curl oder wget Führen Sie ldd --version aus, um die glibc-Version zu überprüfen. Führen Sie strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX aus, um zu sehen, ob libstdc++ 3.4.25 verfügbar ist.
Allgemein für Arm32 libatomic1 Keine zusätzlichen Anforderungen.
Ubuntu 20.04+, Debian 10+, Raspberry Pi OS Buster/10+ und nachgelagerte Distributionen libc6 libstdc++6 ca-certificates tar openssh-server bash und curl oder wget Erfordert Kernel >= 4.18, glibc >= 2.28, libstdc++ >= 3.4.25.
RHEL / CentOS 8+ glibc libgcc libstdc++ ca-certificates tar openssh-server bash und curl oder wget Erfordert Kernel >= 4.18, glibc >= 2.28, libstdc++ >= 3.4.25.
Alpine Linux 3.16+ musl libgcc libstdc++. musl >= 1.2.3, glibc nicht erforderlich. Noch nicht unterstützt. Unterstützt in Dev Containers und WSL. Erweiterungen, die im Container installiert sind, funktionieren möglicherweise aufgrund von glibc-Abhängigkeiten im nativen Code der Erweiterung nicht.
openSUSE Leap / SUSE Linux Enterprise 15+ glibc libgcc_s1 libstdc++6 ca-certificates gzip tar curl oder wget Erfordert Kernel >= 4.18, glibc, libstdc++6

Tipps nach Linux-Distribution

Dies ist eine Liste von Distributionen und etwaigen fehlenden Grundanforderungen. End-of-Life-Versionen von Distributionen sind nicht enthalten.

  • ✅ = Funktioniert
  • ⚠️ = Funktioniert, aber siehe Hinweis für Einschränkungen
  • 🔬 = Experimentell
  • 🛑 = Nicht unterstützt, aber Workaround vorhanden
  • ❌ = Nicht unterstützt
Server-Distribution Docker-Image Fehlende Bibliotheken Hinweise / zusätzliche Schritte
⚠️ Alpine Linux 3.16 (64-Bit) alpine:3.16 libgcc libstdc++ Nur in Dev Containers und WSL unterstützt. Einige im Container installierte Erweiterungen funktionieren möglicherweise aufgrund von glibc-Abhängigkeiten im nativen Code der Erweiterung nicht.
✅ CentOS 8 Server (64-Bit) centos:8 <none> <none>
❌ CentOS 7 Server (64-Bit) centos:7 glibc >= 2.28, libstdc++ >= 3.4.25 <none>
✅ Debian 10 Server (64-Bit) debian:10 <none> <none>
❌ Debian 9 Server (64-Bit) debian:9 glibc >= 2.28, libstdc++ >= 3.4.25 <none>
✅ openSUSE Leap Server 15 (64-Bit) opensuse/leap:15 Docker-Image fehlen tar und gzip. <none>
✅ Oracle Linux 8 (64-Bit) oraclelinux:8 <none> <none>
❌ Oracle Linux 7 (64-Bit) oraclelinux:7 glibc >= 2.28, libstdc++ >= 3.4.25. Docker-Image fehlt tar. <none>
⚠️ Raspberry Pi OS Buster/10 (ARMv7l 32-Bit) <n/a> <none> Einige Erweiterungen funktionieren möglicherweise nicht, wenn sie auf einem ARMv7l-Host installiert sind, aufgrund von x86-nativem Code der Erweiterung. Dev Containers unterstützen die Verbindung zu Containern auf einem ARM-Host .
✅ RedHat Enterprise Linux 8 (64-Bit) <none> <none>
❌ RedHat Enterprise Linux 7 (64-Bit) glibc >= 2.28, libstdc++ >= 3.4.25 <none>
✅ SUSE Linux Enterprise Server 15 (64-Bit) Docker-Image fehlen tar und gzip. <none>
✅ Ubuntu Server 20.04 (64-Bit) ubuntu:20.04 <none> <none>
❌ Ubuntu Server 18.04 (64-Bit) ubuntu:18.04 glibc >= 2.28 <none>

Fragen oder Feedback

© . This site is unofficial and not affiliated with Microsoft.