コンテンツへスキップ

Windsurf を WSL2 に接続すると Server installation が失敗する問題の解決方法(プロキシ環境)

𝕏XでシェアB!はてなブックマークLINEでシェア
コピーしました!
Windsurf を WSL2 に接続すると Server installation が失敗する問題の解決方法(プロキシ環境)

Windows版のWindsurfからWSL2(Ubuntu)に接続した際、Server installationが失敗する問題に遭遇しました。本記事では、プロキシ環境下での原因調査と解決方法をまとめます。

目次

発生した問題

Windows上のWindsurfからWSL2上のUbuntu(Ubuntu 24.04 LTS)にリモート接続を行ったところ、Server installation のステップで失敗しました。

エラーとしては以下のようなメッセージが表示されます。

Error downloading server from ...
Server installation failed

プロキシ環境下で作業していたため、ネットワーク周りが怪しいと考え調査を始めました。


環境

項目バージョン
OS(ホスト)Windows 11
WSL2 ディストリビューションUbuntu 24.04 LTS
Windsurf最新版
ネットワーク社内プロキシ環境

原因の調査

curlでの直接ダウンロードは成功する

まず、WindsurfがダウンロードしようとしているURLに対して、WSL2上から直接curlコマンドでアクセスしてみました。

curl -x http://proxy.example.com:8080 -O https://windsurf-server-url/...

すると、正常にダウンロードが完了しました。つまり、WSL2のネットワーク自体やプロキシ設定には問題がないことがわかります。

インストールスクリプトの挙動を確認

Windsurfのインストールスクリプトを調査したところ、以下のことがわかりました。

  1. スクリプトは**wgetを優先的に使用**し、wgetがインストールされていない場合のみcurlにフォールバックする
  2. Windsurfは以下のような形式でWSL2上にスクリプトを実行する
wsl.exe --distribution Ubuntu -- bash -c 'install script ...'

bash -c の落とし穴

ここが問題の核心です。bash -cで実行されるシェルは、非ログインかつ非インタラクティブなシェルです。

そのため、通常プロキシ設定を記述している以下のファイルは読み込まれません

  • ~/.bashrc
  • ~/.bash_profile
  • ~/.profile

つまり、これらのファイルに設定したhttp_proxyhttps_proxyの環境変数は、Windsurfのインストールスクリプト実行時には一切反映されていない状態でした。


原因

まとめると、原因は以下の通りです。

  1. Windsurfのインストールスクリプトは wgetを優先して使用 する
  2. スクリプトは wsl.exe ... bash -c 経由で実行されるため、非ログイン・非インタラクティブシェルとして動作する
  3. そのため .bashrc.profile に設定したプロキシ環境変数(http_proxy / https_proxy)が読み込まれない
  4. 結果として wget がプロキシなしで外部にアクセスしようとし、ダウンロードに失敗する

一方でcurlコマンドは環境変数を手動で指定して実行したため成功していた、という状況でした。


解決方法

wgetは、シェルの環境変数とは別に独自の設定ファイル ~/.wgetrc を読み込みます。このファイルにプロキシ設定を記述することで、非ログイン・非インタラクティブシェルからの実行でもプロキシが適用されます。

~/.wgetrc の作成

vi ~/.wgetrc

以下の内容を記述します。

http_proxy = http://proxy.example.com:8080
https_proxy = http://proxy.example.com:8080

設定後の確認

~/.wgetrc を保存した後、WindsurfからWSL2への接続を再度実行すると、Server installationが正常に完了しました。

wgetは起動時に~/.wgetrcを読み込むため、シェルの種別に関係なくプロキシ設定が反映されます。


まとめ

  • Windsurfのインストールスクリプトはwgetを優先利用する
  • wsl.exe ... bash -c 経由の実行では、.bashrc等の設定ファイルが読み込まれない
  • プロキシ環境では ~/.wgetrcにプロキシ設定を記述 することで解決できる
  • wgetは独自に~/.wgetrcを読み込むため、シェルの種別に依存しない

同様のプロキシ環境でWSL2を利用している方は、~/.wgetrcの設定を忘れずに行っておくと、Windsurf以外のツールでも同様のトラブルを未然に防ぐことができます。

関連記事

カテゴリー