LoginSignup
1
0

More than 1 year has passed since last update.

WSL2 で Homebrew 使おうとしたけど 、ことごとく install 失敗するんだが

Posted at

はじめに

Mac での開発に憧れつつも Windows 一本で勉強や開発をしてきました。
Windows はゲームだってできるし、仕事は Windows だし、Windows にだって scoop があるし、Mac で M1pro とかを買うよりはコスパ良いし…と自分を慰めてきました。
多くの技術記事の最初に書かれているコマンド brew install ○○
毎回、これが scoop にあるのか、ないなら install 方法を調べて、Path を通して…とやってきましたが、WSL2 で Homebrew が使えることを知り、早速導入してみます。
やった !とうとうあの憧れのコマンドで簡単に環境構築できるぞ!と思ったのも束の間、ことごとく install に失敗する…
そんな経験はありませんか?
これはそんな人のための記事です。

1. Homebrew で install 失敗する原因

Homebrew で install 失敗する原因は DNS による名前解決時に時間がかかりすぎ、タイムアウトしていることでした。
原因究明を自分で実際にやったわけではないですが、詳しいことが知りたい方は参考文献の記事で確認してください。

2. wsl.conf を作る

wsl.conf ファイルでは WSL2 に関する様々な設定ができます。正直全然使いこなせてませんが。
下記コマンドで wsl.conf を作成 or 編集しましょう。

sudo vim /etc/wsl.conf

wsl.conf ファイルを編集するには管理者権限が必要なので、頭に sudo コマンドを付ける必要があります。
編集するエディタは何でもいいですが、とりあえず vim を使っています。
wsl.conf に下記を追記します。
これを追記することで resolv.conf が自動作成されないようになります。

wsl.conf
[network]
generateResolvConf = false

3. resolv.conf を作る

次は DNS サーバーを指定する resolv.conf を作成します。

sudo vim /etc/resolv.conf

resolv.conf に下記を追記します。

resolv.conf
nameserver 8.8.8.8

8.8.8.8 は Google の DNS サーバーです。
別にこれである必要はないですが、特にこだわりがないのであればこれで問題ないと思います。

4. 適当に試してみる

いったん WSL2 を再起動して(ターミナルを閉じて)brew コマンドを試してみましょう。

brew install java

とりあえず Java がボリューミーで、この設定をする前は何度も install 失敗していたので Java でやってみました。
別に Java でなくてもいいので適当に install してみてください。たぶん失敗することはほとんどないはずです。

まとめ

これでもう「 Winsows しか勝たん!」

参考記事

窓辺の小石(52) DNS Is Too Slow | マイナビニュース

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0