🚀 VS Code で を入手しましょう!

Linux でのリモート開発

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

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

  • Ubuntu 64 ビット x86、ARMv8l (AArch64) (20.04+)
  • Debian 64 ビット x86、ARMv8l (AArch64) (Buster/10 以降)
  • Raspberry Pi OS ARMv7l (AArch32) 32 ビット (Buster/10 以降) (以前は Raspbian と呼ばれていました)
  • CentOS / RHEL 64 ビット x86 (8+)
  • Dev Containers、WSL の Alpine Linux 64 ビット x86 コンテナまたは WSL ホスト (3.16 以降)

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

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

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

ローカル Linux の前提条件

ローカルで Linux を実行している場合、VS Code の前提条件が要件のほとんどを占めています。

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

  • Remote - SSH: ssh がパスにある必要があります。シェルバイナリは通常、openssh-client パッケージにあります。
  • Dev Containers: Docker CE/EE 18.06 以降および Docker Compose 1.21 以降。ディストリビューション用の Docker CE/EE の公式インストール手順に従ってください。Docker Compose を使用している場合は、Docker Compose のインストール手順にも従ってください。(Ubuntu Snap パッケージはサポートされておらず、ディストリビューションのパッケージは古い場合があることに注意してください。) docker および docker-compose もパスにある必要があります。ただし、リモートホストを使用している場合、Docker を実行する必要はありません。Docker の構成方法の詳細については、Dev Containers ドキュメントを参照してください。

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

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

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

ディストリビューション 基本要件 Remote - SSH 要件
一般 カーネル >= 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 カーネル >= 4.18、glibc >= 2.28、libstdc++ >= 3.4.25 が必要です。
RHEL / CentOS 8 以降 glibc libgcc libstdc++ ca-certificates tar openssh-server bash および curl または wget カーネル >= 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 カーネル >= 4.18、glibc、libstdc++6 が必要です。

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

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

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

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