4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WSL+homebrew+fish環境構築まとめ

Last updated at Posted at 2022-10-07

自分用のメモとして残しておきます.

構築の目標

  • Homebrewのinstall失敗を防ぐために,resolv.confの作成
  • Homebrewのインストール
  • fishのインストール
  • StarShipのインストールと適用
    ※WSLでUbuntuを使えるようにするところまでは省略します.

Homebrewのinstall失敗を防ぐ

自分の環境では,特に設定しないままHomebrewを使うとbrew installが成功しないことが多々あった.
それを防ぐための設定を最初に行う.
エディタはvimで進めていく.

/etc/wsl.confというファイルを作る

sudo vim /etc/wsl.conf

ファイルが開けたら,以下を記入する.
これを記載することで,後述のDNSサーバー指定用ファイル/etc/resolv.confが再生成されなくなる.

/etc/wsl.conf
[network]
generateResolvConf = false

WSLを再起動する

自分の環境では,この手順をふまないと,再起動したときに/etc/resolv.confが消えた.

DNS設定用ファイル/etc/resolv.confを作る.

sudo vim /etc/resolv.conf

下記を記載する.
8.8.8.8はGoogleのDNSサーバーです.

/etc/resolv.conf
nameserver 8.8.8.8

Homebrewのインストール

事前準備

ひとまずこれ

sudo apt update && sudo apt upgrade -y

準備

homebrewを入れる前にこれをしておく

sudo apt-get install build-essential procps curl file git

インストール

Homebrew公式に則ってインストールする.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

bashにパスを通す

公式のドキュメントに則ってパスを通す.
これをやったあと一度WSLを起動し直す.

test -d ~/.linuxbrew && eval "$(~/.linuxbrew/bin/brew shellenv)"
test -d /home/linuxbrew/.linuxbrew && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
test -r ~/.bash_profile && echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >> ~/.bash_profile
echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >> ~/.profile

Homebrewがインストールできているか確認する.

何でもいいからbrewを使ってみる.
自分はbrew doctor使いがち.

brew doctor

fishのインストール

先程導入したHomeberwを使ってfish shell をインストールする.

下記のコマンドでインストールできる.

brew install fish

デフォルトのシェルをfishにする.

1. fishの場所を探す.

which fish

これを入力すると,fishの場所が返ってくる.私の場合は/home/linuxbrew/.linuxbrew/bin/fishだった.

2. Ubuntuに有効なシェルであることを伝えるためにetc/shellsにfishの場所を書き込む.

sudo sh -c "echo /home/linuxbrew/.linuxbrew/bin/fish >> /etc/shells"

3. デフォルトのシェルとしてfishを登録する.

chsh -s /home/linuxbrew/.linuxbrew/bin/fish

4. wslを起動し直して,シェルが変わっていることを確認する.

見た目でわかるが,一応echo $SHELLで現在使っているシェルが確認できる.

fishでbrewのパスを通す

fishの設定ファイル~/.config/fish/config.fishにbrewを書き込む

echo 'eval (/home/linuxbrew/.linuxbrew/bin/brew shellenv)' >> ~/.config/fish/config.fish

StarShipのインストールと適用

ほとんどStarShip公式の説明どおりに導入すればOK
NerdFontじゃないと表示がおかしくなるので,その辺は確認しておく.

インストール

インストールはbrewを使う.

brew install starship

パスを通す.

starshipを起動できるように下記のコマンドで~/.config/fish/config.fishに追加する.

echo starship init fish | source >> ~/.config/fish/config.fish

starshipの設定ファイルを作る.

見た目とかはここをいじって整える.

mkdir -p ~/.config && touch ~/.config/starship.toml

以上!!

参考リスト

[1] keisukesan,WSL2 で Homebrew 使おうとしたけど 、ことごとく install 失敗するんだが,Qiita,https://qiita.com/keisukesan/items/7ec851b1ad3032de3925
[2] Homebrew, https://brew.sh/index_ja
[3] N04h, Zenn, https://zenn.dev/n04h/scraps/8cb5cb935fda10
[4] StarShip https://starship.rs/ja-jp/

4
2
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
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?