Linuxによるリモート開発

Linuxは非常に多様な環境であり、多数のサーバー、コンテナ、デスクトップディストリビューションがあるため、何がサポートされているかを把握するのが難しい場合があります。Visual Studio Codeリモート開発には、接続する特定のホスト / コンテナ / WSLディストリビューションに対する前提条件があります。

この拡張機能は、以下の最近の安定版/LTSバージョンに接続する場合に動作することが知られています。

  • 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+) (旧名 Raspbian)
  • CentOS / RHEL 64-bit x86 (8+)
  • Dev Containers、WSLにおけるAlpine Linux 64-bit x86コンテナまたはWSLホスト (3.16+)

以下の非Linux SSHホストもサポートされています

ただし、非標準構成またはLinuxのダウンストリームディストリビューションを使用している場合、問題が発生する可能性があります。このドキュメントでは、構成がコミュニティサポートのみである場合でも、利用を開始できるようにするための要件とヒントを提供します。

ここに記載されているもの以外に、他の拡張機能にも依存関係がある場合があります。一部の拡張機能にはコンパイルされたネイティブコードも含まれており、Alpine Linux、ARMv7 (AArch32)、またはARMv8 (AArch64) では動作しない場合があります。このため、これらのプラットフォームは「プレビュー」と見なされます。特定の拡張機能でのみ発生する問題に遭遇した場合は、そのネイティブ依存関係に関する情報について拡張機能の作者にお問い合わせください

ローカルLinuxの前提条件

ローカルでLinuxを実行している場合、ほとんどの要件はVS Codeの前提条件によって決まります。

さらに、特定のリモート開発拡張機能には追加の要件があります。

リモートホスト / コンテナ / WSL Linuxの前提条件

プラットフォームの前提条件は、主に各リモートエンドポイントに自動的にインストールされるサーバーコンポーネントに含まれるNode.jsランタイムのバージョン(および拡張としてV8 JavaScriptエンジン)によって決まります。このサーバーには、各ターゲット向けにコンパイルおよびテストする必要がある関連ネイティブノードモジュール一式も含まれています。これらの要件を考慮すると、現在64-bit x86 glibcベースのLinuxディストリビューションが最高のサポートを提供します。

ARMv7l (AArch32) / ARMv8l (AArch64) glibcベースのホスト、コンテナ、またはWSL、および64-bit x86 muslベースのAlpine Linuxで、ネイティブ依存関係を持つ特定の拡張機能で問題が発生する可能性があります。ARMv7l/ARMv8lの場合、拡張機能にx86_64バージョンのネイティブモジュールまたはランタイムしか含まれていないことがあります。Alpine Linuxの場合、含まれるネイティブコードまたはランタイムは、Alpine Linux (musl) と他のディストリビューション (glibc) でlibcが実装される方法の根本的な違いにより動作しない場合があります。これらの両方のケースでは、拡張機能はこれらの追加ターゲット用のバイナリをコンパイル/含めることによって、これらのプラットフォームのサポートにオプトインする必要があります。期待通りに動作しない拡張機能に遭遇した場合は、適切な拡張機能の作者にサポートを要求する問題を提起してください。

分布 基本要件 Remote - SSH要件 注記
全般 kernel >= 4.18, glibc >=2.28, libstdc++ >= 3.4.25, tar OpenSSHサーバー、bash、およびcurlまたはwget ldd --versionを実行してglibcのバージョンを確認します。strings /usr/lib64/libstdc++.so.6 | grep GLIBCXXを実行してlibstdc++ 3.4.25が利用可能か確認します。
Arm32全般 libatomic1 追加の要件はありません。
Ubuntu 20.04+, Debian 10+, Raspberry Pi OS Buster/10+ およびダウンストリームディストリビューション libc6 libstdc++6 ca-certificates tar openssh-server bash および curl または wget kernel >= 4.18, glibc >= 2.28, libstdc++ >= 3.4.25 が必要です。
RHEL / CentOS 8+ glibc libgcc libstdc++ ca-certificates tar openssh-server bash および curl または wget kernel >= 4.18, glibc >= 2.28, libstdc++ >= 3.4.25 が必要です。
Alpine Linux 3.16+ musl libgcc libstdc++. musl >= 1.2.3, glibc は不要です。 まだサポートされていません。 Dev ContainersとWSLでサポートされています。コンテナにインストールされた拡張機能は、拡張機能のネイティブコードにおけるglibcの依存関係により動作しない場合があります。
openSUSE Leap / SUSE Linux Enterprise 15+ glibc libgcc_s1 libstdc++6 ca-certificates gzip tar curl または wget kernel >= 4.18, glibc, libstdc++6 が必要です。

Linuxディストリビューションごとのヒント

以下は、ディストリビューションと不足している可能性がある基本要件のリストです。サポート終了 (End-of-life) バージョンのディストリビューションは含まれていません。

  • ✅ = 動作します
  • ⚠️ = 動作しますが、制限事項については注記を参照してください
  • 🔬 = 実験的
  • 🛑 = 未サポートですが、回避策があります
  • ❌ = 未サポート
サーバーディストリビューション Dockerイメージ 不足しているライブラリ 注記 / 追加手順
⚠️ Alpine Linux 3.16 (64-bit) alpine:3.16 libgcc libstdc++ Dev ContainersとWSLのみでサポートされています。コンテナにインストールされた一部の拡張機能は、拡張機能のネイティブコードにおけるglibcの依存関係により動作しない場合があります。
✅ CentOS 8 Server (64-bit) centos:8 <なし> <なし>
❌ CentOS 7 Server (64-bit) centos:7 glibc >= 2.28, libstdc++ >= 3.4.25 <なし>
✅ Debian 10 Server (64-bit) debian:10 <なし> <なし>
❌ Debian 9 Server (64-bit) debian:9 glibc >= 2.28, libstdc++ >= 3.4.25 <なし>
✅ openSUSE Leap Server 15 (64-bit) opensuse/leap:15 Dockerイメージにはtargzipが不足しています。 <なし>
✅ Oracle Linux 8 (64-bit) oraclelinux:8 <なし> <なし>
❌ Oracle Linux 7 (64-bit) oraclelinux:7 glibc >= 2.28, libstdc++ >= 3.4.25 が必要です。Dockerイメージにはtarが不足しています。 <なし>
⚠️ Raspberry Pi OS Buster/10 (ARMv7l 32-bit) <該当なし> <なし> ARMv7lホストにインストールされた場合、拡張機能のx86ネイティブコードが原因で一部の拡張機能が動作しない可能性があります。Dev ContainersはARMホスト上のコンテナへの接続をサポートしています
✅ RedHat Enterprise Linux 8 (64-bit) <なし> <なし>
❌ RedHat Enterprise Linux 7 (64-bit) glibc >= 2.28, libstdc++ >= 3.4.25 <なし>
✅ SUSE Linux Enterprise Server 15 (64-bit) Dockerイメージにはtargzipが不足しています。 <なし>
✅ Ubuntu Server 20.04 (64-bit) ubuntu:20.04 <なし> <なし>
❌ Ubuntu Server 18.04 (64-bit) ubuntu:18.04 glibc >= 2.28 <なし>

質問またはフィードバック

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