WSLとVS Codeの連携で引っかかった。

Lifebook U939の設定も仕上がってきたので、WSLにUbuntu 22.04.1をインストールしておくことにしました。ここで足を取られました。


WSLを使用する際にはVisual Studio Code (VS Code)をフロント・エンドにしています。これは便利な機能で、Visual Studio CodeにRemote Development プラグインを入れておくだけで、WSLをVisual Studio Codeから使うことが出来ます。Visual Studio Codeはエディタですが、ファイル・ブラウザとコマンドライン端末を統合しています。ですので、ファイル・ブラウザとコマンドライン端末とエディタを統合した状態でWSLによる作業を行うことが出来ます。

普段は問題なくこの環境を設定できるのですが、今回は引っかかりました。エラーメッセージを読むとVS Code Serverのインストール中にtarがファイルを展開できない問題が起きているようです。

結論から言うと、これはUbutuがWSL2ではなくWSL1で動作していたことが問題です。私はHyper-V等の一連の設定をした後、Windows 10 のMicrosoft Storeから直接Ubuntu 22.04.1をインストールしました。ところがWindows 10を使ったせいか、Ubuntu 22.04.1はWSL2ではなくWSL1によってインストールされていました。

この問題はコミュニティに報告されており、解決策も提示されています。
github.com

解決するには以下のコマンドを実行します。

wsl -l -v
wsl --set-default-version 2
wsl --set-version Ubuntu-22.04 2

なお、Hyper-Vなどの設定をした後、以下のコマンドを実行しておけば問題は起きなかったはずです。

wsl --set-default-version 2

検証したわけではありませんが、この問題はWindows 10に固有の問題でありWindows 11では起きないかもしれません。今回、私のU939/BにはWindows 11アップグレードの案内がまだ届いていないため、Windows 10でのインストールとなりました。

/* -----codeの行番号----- */