はじめに
みなさん、こんにちは。久しぶりにプロキシ環境下のWindowsマシンを入れ替えたところ、WSL2上のVSCodeが起動処理の最初に行われるアップデートに失敗し、起動できないという事象に遭遇しました。
環境変数のHTTP_PROXYやHTTPS_PROXYは設定しているし、VSCodeのsettings.jsonの設定も問題なさそうなのになんでかな…と一瞬迷ったので自らの備忘のため、記事という形に残しておこうと思った次第です。
VSCodeがアップデートに失敗する原因
結論としては「wget
のプロキシ設定が漏れていたため」でした。
なぜwget
のプロキシ設定が必要かというとVSCodeを起動するcode
コマンドを実行すると、最初にアップデートをインターネットへ入手しに行く挙動をするのですが、その際に内部的にはwget
を使っているというオチでした。
分かってしまえば単純ですが、直感的にはVSCodeのsettings.jsonなどでプロキシ設定箇所もあったりするので、wget
という思わぬ伏兵が隠れていることにパッと気づけませんでした^^;
wgetのプロキシ設定方法
個別のユーザーごとに設定するなら ~/.wgetrc
、すべてのユーザーに一括で設定するなら /etc/wgetrc
を修正します。使い分けとしてはプロキシ認証にユーザーとパスワード情報が必要なら前者、それ以外は後者と考えるとよいでしょう。
例)ユーザー認証が必要なケース
https_proxy = http://<user>:<password>@<host>:<port>/
http_proxy = http://<user>:<password>@<host>:<port>/
ftp_proxy = http://<user>:<password>@<host>:<port>/
例)ユーザー認証が不要なケース
https_proxy = http://<host>:<port>/
http_proxy = http://<host>:<port>/
ftp_proxy = http://<host>:<port>/
この設定追加により、無事にWSL2上のVSCodeのアップデートに成功し、VSCodeが起動できるようになりましたとさ。めでたし、めでたし。
最後に
ということで、今回はプロキシ環境下のWindowsマシンでWSL2上のVSCodeが起動できない事象の原因と解決方法の紹介でした。いまさらかよ、といった内容ですがこんな記事でも誰かの助けになってくれれば幸いです。
- Visual Studio Code、Windowsは、Microsoft Corporation の商標または登録商標です。
- その他、本記事に記述してある会社名、製品名は、各社の登録商品または商標です。