はじめに
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 が自動作成されないようになります。
[network]
generateResolvConf = false
3. resolv.conf を作る
次は DNS サーバーを指定する resolv.conf を作成します。
sudo vim /etc/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 しか勝たん!」