VScode 拡張機能 Error while fetching extensions. XHR failed 解決方法

社内でVScodeを使っていると、何故か急に拡張機能を検索やインストールできなくなり XHR failed エラーがでるようになりました。 解決方法がやっとわかったので掲載します。 結論は、VScodeのsettingのHttp:Proxyの設定に1行入力するだけです。 Zscalerの場合も解決できました。

(Problems loading reference ‘https://json.schemastore.org/package’: Unable to load schema from ‘https://json.schemastore.org/package’: getaddrinfo ENOTFOUND proxyのエラーの時も同じ方法で解決しました。)

XHR failed

Proxy serverを確認

  1. Windowsのコマンドプロンプトで以下を実行。 プロキシサーバー:proxy.___.co.jp:8080の様なものが表示される。 これがプロキシサーバーアドレスなのでメモっておく。
netsh winhttp show proxy

VScodeに設定

  1. VScodeを起動
  2. 画面の左下の歯車⚙のアイコンをクリック
  3. settings(設定)をクリック
  1. 検索フィールドに『proxy』と打ち込むとproxyの設定が現れる
  2. Http:Proxy設定に以下を入れる。
    • ユーザー名:私の場合、会社で使用するWindowsログインユーザー名
    • パスワード:私の場合、会社で使用するWindowsログインパスワード
    • プロキシサーバー名:さっき1で調べたやつ
  3. 入力したらVScodeを再起動
http://ユーザー名:パスワード@プロキシサーバー名

  1. 表示されるようになりました。 🤩

その後 Zscalerの解決

1ヶ月ほどはこれで接続できていたのですが、VScodeを更新したせいか、会社のproxy設定が変更されたせいか分かりませんが、また同じ!Error while fetching extensions. XHR failedになりました。 私のPCには在宅勤務用にZscalerが入っているので、Zscaler Proxy用のパスをVScodeのHttp:Proxyに入れたら表示されるようになりました。 もしかしたら使う場所が会社内か在宅勤務かによってVScodeのHttp:Proxyに設定するproxyアドレスを変更しないといけないのかもしれません。

VScode Settings

Wondows環境変数http_proxyとhttps_proxyにhttp://gateway.zscaler.net:80/を設定してVScodeを再起動したのですが、VScodeのHttp: Proxyにhttp://gateway.zscaler.net:80/を設定しないとエラーは解消されませんでした。

http://gateway.zscaler.net:80/

私は、以前Zscalerでnpmが出来なくなった時に、Zscalerの証明書のパスをNODE_EXTRA_CA_CERTSに入れて問題解決しました。 証明書の作成方法はここを参考にしてください。 Python pip向けに書いてありますが、証明書としては同じで、ここでZscalerの証明書を付け加えた証明書ファイルのパスをNODE_EXTRA_CA_CERTSに指定しています。 npmとしてはそれ以外にもnpm configのproxyとhttps_proxyにZscalerのアドレスの記載が必要です。 その場合はここを参考にしてください。

おまけ

コマンドプロンプトから以下のコマンドでVScodeを起動したら、netlog.jsonにログが入ります。 このファイル内でもProxy Serverのアドレスが入っていました。

code --log-net-log=netlog.json

netlog.jsonは以下のフォルダに入っていました。

C:\Users\<username>\AppData\Local\Programs\Microsoft VS Code\

コメント