WSL開発環境設定 (with asdf)
apt、homebrew、nvm、pyenv... 私たちはあまりにも多くのバージョン管理ツールと共に生きている... 少なくともプログラミング言語のバージョン管理を一つのツールで行おう!!
AI生成コンテンツは不正確または誤解を招く可能性があります。
update log
| 日付 | 変更点 |
|---|---|
| 2022/02/18 | 🎺 最初に記事を書いた日 |
| 2022/03/06 | 誤字修正 |
| 2022/08/02 | 誤字修正、asdfインストールコマンドバージョン修正、おすすめプラグインリスト追加、コピペしやすいように記事修正、最新設定に若干修正 |
概要
Windowsで開発環境を構築する際、いくつかの不便な点がありました。
存在はするがまだ不十分なパッケージマネージャー (winget)
基本を無視する非POSIXターミナル
それに伴う多くのCLIベースツールの非サポート
一度こじれるとどこから解決すべきかわからないPATH
実は、いくつかはWindowsについて知らないから生じる不便さと問題かもしれません。
でもちょうどMicrosoftがWSLというほぼ完璧なシステムを提供しているので、当然使うべきですよね
とにかくWSLをうまくインストールしましょう
通常wsl --install -d ubuntuまたはWindows Storeからダウンロードできます。
再起動を行うとubuntuの自動起動とともにLinuxユーザー設定が可能になります。
以下の説明に従ってください
ソフトウェアアップデート
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -yVSCode remote設定
VSCodeで**Remote - WSL**プラグインをインストール
ターミナルでcode .を入力
Git設定
sudo apt-get install git
git config --global user.name "Your Name"
git config --global user.email "youremail@domain.com"
git config --global credential.helper "/mnt/c/Program\\ Files/Git/mingw64/bin/git-credential-manager.exe"Dockerインストール
// cmd or pwsh
winget install docker.desktopdocker desktop >> settings
General >> Use the WSL 2 based engine
Resources >> WSL INTEGRATION >> (turn on)
zsh、oh-my-zsh、p10k themeインストール
sudo apt install zsh
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10kp10kテーマの美しさのためにNerd Fonts、Source Code Pro、Font Awesome、Powerlineフォントの中から一つを選んでWindowsにインストール後、ターミナルのフォントを変更しましょう
** Nerd Fontsを使用する時のみp10kテーマの全ての設定を有効にできます。
(Meslo Nerd Fontおすすめ)
~/.zshrcファイルの
ZSH_THEME="robbyrussell"と書かれた行を
ZSH_THEME="powerlevel10k/powerlevel10k"
に置き換えましょう。
source ~/.zshrcでp10kテーマを適用します。
設定ウィザードのような画面が出るので、適当に好みのテーマを設定しましょう。
もう一度設定したい場合はp10k configureコマンドで可能です。
筆者は以下のように設定しました。

oh-my-zshプラグイン
# zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions~/.zshrcファイルのplugins項目に以下のように追加します。
plugins=(
zsh-syntax-highlighting
zsh-autosuggestions
)おすすめプラグインリスト
plugins=(
z
gh
git
httpie
sudo
rust
copypath
direnv
golang
python
docker-compose
docker
asdf
zsh-syntax-highlighting
zsh-autosuggestions
)source .zshrc
ターミナル入力問題の解決
Windows Terminalとoh-my-zshの何らかの問題により
ターミナルに貼り付けを行う際、一文字ずつゆっくり入力される問題があります。
なくなっていれば幸いですが..
これを解決するには~/.zshrcに以下の一行を追加します。
DISABLE_MAGIC_FUNCTIONS="true"その後source ~/.zshrcまたはターミナルを再起動すると、この問題がなくなったことがわかります。
ターミナルおすすめツール
batインストール (clone cat)
bat_version_amd64.deb <- ダウンロード
sudo dpkg -i bat_version_amd64.deb.zshrcに追加
alias cat="bat"これできれいなcatに置き換わりました
覚えておくと良いオプションとして--plainがあります。
以下のように変わり、コピーしやすくなります。

logo-lsインストール
logo-ls_amd64.deb <- ダウンロード
sudo dpkg -i logo-ls_amd64.debzshrcに以下の行を追加
alias ls="logo-ls"lsコマンドにアイコンがつきました。
元々の味気ないlsコマンドにアイコンがついたことが確認できます。

asdfインストール (version manager)
node、python、goのバージョン管理問題を一度に解決できます。
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.2~/.zshrcに追加
. $HOME/.asdf/asdf.sh
# append completions to fpath
fpath=(${ASDF_DIR}/completions $fpath)
# initialise completions with ZSH's compinit
autoload -Uz compinit && compinitohmyzsh/plugins/asdf at master · ohmyzsh/ohmyzsh
source ~/.zshrc
これでasdfコマンドを実行できます。
asdfを使用してnodeをインストール
nodeプラグインインストール
asdf plugin-add nodejs https://github.com/asdf-vm/asdf-nodejs.gitnode最新バージョンインストール
asdf install nodejs latestnodeシステム全体での使用を宣言
asdf global nodejs latestasdfを使用してpythonをインストール
pythonプラグインの依存関係インストール
sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-devpythonプラグインインストール
asdf plugin-add pythonpython最新バージョンインストール
asdf install python latestpythonシステム全体での使用を宣言
asdf global python latestasdfを使用してgolangをインストール
nodeプラグインインストール
asdf plugin-add golangnode最新バージョンインストール
asdf install golang latestnodeシステム全体での使用を宣言
asdf global golang latestasdf使用のコツ 💡
aws-cli、hugoなどのCLIツールのインストールとバージョン管理を助けてくれる良いツールです。 一般的にツールのインストールは、先に見たように以下の4つのステップを実行すればインストールされます。
- 該当ツールのシステム依存関係インストール(場合により異なる)
- 該当ツールプラグインインストール (plugin-add)
- ツールの最新バージョンインストール (install)
- ツールの特定バージョンの全体使用宣言 (global)
rustupを使用したrustインストール
Rustの場合もasdfでインストールできますが、開発中に問題が発生する場合があるため、rustupを使用したインストールを推奨します。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh選択するようメッセージが表示され、オプション1番を選択(default)
きれいにインストールされます。