【VS Code 1.122】ラズパイにSSH接続できなくなった!「32ビットARM Linux」サポート終了の原因と今すぐできる対策

【VS Code 1.122】ラズパイにSSH接続できなくなった!「32ビットARM Linux」サポート終了の原因と今すぐできる対策 vscode
【VS Code 1.122】ラズパイにSSH接続できなくなった!「32ビットARM Linux」サポート終了の原因と今すぐできる対策

ある日突然、いつもどおりVS Codeを使ってRaspberry Pi(ラズベリーパイ)に接続しようとしたら……接続できなくなった。node not found というよく分からないエラーが出て、何も操作できない。

「何か自分が悪いことをしてしまったのかな」「設定を変えてしまったのかな」と不安になっている方も多いと思います。でも、大丈夫です。これはあなたのミスではありません。

この問題はVS Code(Visual Studio Code)のバージョン1.122のリリースに合わせて公式に予告された仕様変更によるものです。この記事を読めば、なぜ接続できなくなったのかという原因と、今すぐあなたが取れる対処法が分かります。落ち着いて、一緒に確認していきましょう。


今起きている不具合・エラーの具体的な内容

どんな状況で起きているの?

この問題が起きているのは、以下のような開発スタイルをしている方です。

  • Raspberry Pi(ラズパイ)などの小型コンピュータを手元のPCから遠隔操作して開発している
  • VS Codeの「Remote – SSH」「Dev Containers」「Remote Tunnels」などの「リモート開発」機能を使っている
  • 接続先のRaspberry Piで動いているOSが「32ビット版」(Raspberry Pi OS 32-bit など)になっている

この条件に当てはまる場合、VS Codeをバージョン1.122以降にアップデートすると、接続が突然失敗するようになります。

具体的にどんなエラーが出るの?

代表的なエラーメッセージは以下のようなものです。

  • node not found(ノードが見つかりません)
  • Could not establish connection to ...(接続を確立できませんでした)
  • 接続が途中でフリーズしたまま終わらない

これらは、VS Codeが接続先のRaspberry Piに「動作に必要なプログラム(VS Code サーバー)」を送り込もうとしたときに、32ビット環境では動かせないプログラムを送ってしまうために発生します。

特に「罠」になりやすい環境

少し注意が必要なのが、「ハードウェアは64ビット対応なのに、OSは32ビット」という構成のRaspberry Piです。

たとえば、Raspberry Pi 3や4は、機械(ハードウェア)としては64ビット対応なのに、最初から32ビット版のOSを入れているケースがよくあります。この場合、VS Code側が「あ、64ビットだな」と勘違いして64ビット用のプログラムを送り込んでしまい、うまく動かずにエラーになってしまいます。

ポイント:「ハードウェアが64ビット対応かどうか」ではなく、「OSが64ビット版かどうか」が重要です。


今すぐ試せる!具体的な対策と手順

対策は状況によって3つあります。まず自分の状況を確認してから、一番合う方法を選んでください。


対策① 【根本解決】Raspberry PiのOSを64ビット版に入れ替える

これが一番おすすめの、根本的な解決策です。ハードウェアが64ビット対応(Raspberry Pi 3・4・5など)であれば、OSを64ビット版に入れ替えることで、バージョン1.123以降でも引き続き快適にリモート開発ができます。

前提確認: あなたのRaspberry PiはRaspberry Pi 3・4・5のどれかですか? もし「Raspberry Pi 2」や「Raspberry Pi Zero(無印)」の場合は、ハードウェア自体が32ビットのため、対策②または③に進んでください。

手順

  1. 公式ツール「Raspberry Pi Imager」をダウンロードする パソコン(Windows / Mac どちらでもOK)のブラウザで https://www.raspberrypi.com/software/ にアクセスして、自分のパソコンに合ったインストーラーをダウンロードします。
  2. Raspberry Pi Imager をインストールして起動する ダウンロードしたファイルをダブルクリックしてインストールし、アプリを起動してください。
  3. デバイスを選択する 「デバイスを選択」ボタンをクリックし、お使いのRaspberry Piのモデル(例:Raspberry Pi 4)を選びます。
  4. OSに「64ビット版」を選択する 「OSを選択」ボタンをクリックします。一覧から 「Raspberry Pi OS(64-bit)」 を選択してください。 ※「(32-bit)」と書かれているものは絶対に選ばないようにしましょう。
  5. 書き込み先のmicroSDカードを選択する Raspberry Piで使っているmicroSDカードをパソコンに差し込み、「ストレージを選択」から該当するmicroSDカードを選びます。 ⚠️ 大切なデータは事前にバックアップしてください。この作業でmicroSD内のデータはすべて消去されます。
  6. 「次へ」→「書き込み」を実行する 画面の案内に従って進み、書き込みを開始します。完了まで数分かかる場合があります。
  7. microSDカードをRaspberry Piに戻して起動する 書き込みが終わったらmicroSDをRaspberry Piに差し戻し、電源を入れてください。起動後、VS CodeからSSH接続を試してみましょう。

対策② 【暫定措置】VS Codeのバージョンを1.122に固定して自動更新を止める

すぐにOSを入れ替えられない事情がある場合(古い機器で使っている・組み込み製品のデバッグ中など)は、VS Codeのバージョンを「1.122」のまま固定しておくことで、引き続き接続できる状態を保てます。ただし、これはあくまで一時しのぎです。将来のセキュリティ更新や新機能は受け取れなくなりますのでご注意ください。

手順(自動更新を止める方法)

  1. VS Codeを起動する
  2. 設定を開く 画面左下の歯車アイコン(⚙)をクリックし、「設定」を選択します。 (または Ctrl + ,(Windowsの場合)/ Cmd + ,(Macの場合)のショートカットでも開けます)
  3. 「update」と検索する 設定画面の上部にある検索ボックスに update と入力します。
  4. 「Update: Mode」を「none」に変更する 検索結果に Update: Mode(アップデートのモード)という項目が表示されます。ドロップダウン(選択欄)をクリックして 「none」 を選んでください。これで自動アップデートが止まります。
  5. 念のためVS Codeを再起動する VS Codeをいったん閉じて、もう一度起動してください。

注意: このままでは今後の重要なセキュリティ更新なども受け取れなくなります。Raspberry PiのOSを64ビット版に移行する準備ができたら、対策①を実施してこの設定を元に戻しましょう。


対策③ 【代替手段】リモート接続をやめて「ネットワーク共有」経由で編集する

VS Codeのリモート開発機能(Remote – SSH)を使うことを一旦あきらめて、別の方法でRaspberry Pi上のファイルを編集するやり方もあります。

この方法では、Raspberry Piのフォルダを「ネットワーク経由でパソコンから直接開ける場所(ネットワーク共有フォルダ)」として設定し、手元のパソコンのVS Codeでそのフォルダを開いて編集します。Raspberry Pi側にVS Code専用のサーバープログラムを動かす必要がなくなるため、32ビット環境でも問題が起きません。

ただし、この方法ではVS CodeのRemote開発ほど高機能な連携(拡張機能のリモート実行など)はできなくなりますので、あくまでつなぎの手段としてご検討ください。

この方法の概要(SMBネットワーク共有を使う場合)

  1. Raspberry Pi側で「Samba(サンバ)」という共有フォルダ用のソフトをインストール・設定する
  2. パソコン側から共有フォルダをネットワークドライブとしてマウント(接続)する
  3. 手元のVS Codeでその共有フォルダを「フォルダを開く」から開いて編集する

具体的な手順は少し長くなるため、「Raspberry Pi Samba 設定」で検索すると丁寧な解説記事がたくさん見つかります。


公式のアップデートで直る?現在の対応状況

これはバグではなく「公式の仕様変更」です

この問題は、VS Codeの不具合(バグ)ではなく、**Microsoftが公式に発表・予告した仕様変更(サポート終了)**です。そのため、「アップデートで自動的に直る」ということはありません。

VS Codeのバージョン1.122が、32ビットARM LinuxホストへのVS Codeサーバーのプリビルド対応をサポートする最後のリリースです。1.123以降は、リモート開発にはx86_64またはARM64(64ビット)のLinux環境が必要になります。

なぜこのような変更が行われたの?

これは技術的な背景があります。VS Codeのリモート開発機能は、接続先のRaspberry Piに「Node.js(ノード・ジェイエス)」というプログラムの実行エンジンを自動的に送り込んで動かす仕組みになっています。

ところが、このNode.jsや関連するソフトウェアのコミュニティ全体で、32ビット環境のサポートを縮小する流れが進んでいます。Linuxカーネルの開発者コミュニティでも「32ビットシステムは新しい製品には時代遅れ」という議論が進んでいます。スマートフォンや組み込み機器も含め、現代のほとんどのデバイスはすでに64ビット化が完了しているためです。

MicrosoftはVS Codeのリソースを最新のAI・エージェント機能などに集中させるため、古い32ビット環境向けのコードのメンテナンスを終了する決断をしました。

ユーザー側の問題?それともシステム側の問題?

整理すると、こういうことです。

項目内容
問題の種類バグではなく公式の仕様変更(EOL)
ユーザーのミスなし。あなたは何も悪くない
自動修正(アップデート)で直るか直らない。今後も対応なし
解決するにはOSを64ビット版に入れ替える(対策①が根本解決)

まとめ

今回の問題を整理すると、次のようになります。

  • VS Code バージョン1.122が、32ビットARM Linux環境でのリモート開発をサポートする最後のバージョン
  • 1.123以降は、32ビット環境のRaspberry Piなどへの接続が公式にサポート対象外となる
  • あなたのミスではなく、公式の仕様変更なので焦らなくて大丈夫

対策のおさらい

状況おすすめの対策
Raspberry Pi 3・4・5を使っている対策①:OSを64ビット版(Raspberry Pi OS 64-bit)に入れ替える
すぐに入れ替えられない・古いハードウェア対策②:VS Codeを1.122に固定して自動更新を止める(暫定措置)
どうしてもリモート開発機能が使えない対策③:ネットワーク共有フォルダ経由での編集に切り替える

長期的には対策①が唯一の根本解決策です。Raspberry Pi 3・4・5をお使いの方は、できるだけ早めに64ビット版OSへの移行をご検討ください。

最新情報のチェック先

今後のVS Codeのアップデート情報は、以下の場所で確認できます。

  • VS Code 公式リリースノート(英語):https://code.visualstudio.com/updates
  • VS Code 公式Twitter(X)@code
  • Visual Studio Code 日本語コミュニティ(Zenn、Qiitaなどで「VS Code」で検索)

焦らず、一つずつ確認しながら対処していきましょう。きっと解決できますよ!

タイトルとURLをコピーしました