💻

Windowsで開発環境構築

2022/01/14に公開約5,000字

最近Windows端末に買い替えたので、Windowsでの環境構築手順をメモがてら纏めます。コンセプトは最低限使える状態にすること、今使っているMac環境に近い状態を目指すことです。

ターミナル

まずはターミナル環境を整えます。

wsl2

WindowsでLinux環境を使用できる機能です。明示的に指定していないので、wslのデフォルトのubuntuを入れます。

  • wslをインストール
> wsl --install
#インストールしたwslを確認
> wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2
  • wslを起動し、packageを更新します。
sudo apt update && sudo apt upgrade

homeディレクトリ変更

wslインストール後は/home/XXXXがHOMEディレクトリですが、気に入らないのでWindowsーザー配下に変更します。

$ sudo vim /etc/passwd
# Linuxユーザー名:x:1000:1000:,,,:/home/[Linuxユーザー名]/bin/bash
# /home/[Linuxユーザー名]を「/mnt/c/Users/Windowsユーザー名」に変更
  • /mnt/c以下のパスのパーミッションを変更できるようにする
$ sudo vi /etc/wsl.conf # 以下を追記
 [automount]
 options = "metadata"
  • 「サービス」から「LxssManager」再起動

  • 一応、現状のHOMEディレクトリにある設定ファイルを移動

$ pwd
/home/[Linuxユーザー名]
$cp -r ./.* ~/
$cp -r ./.landscape/ ~/
  • 一旦wslターミナルを閉じて、再度起動
$ pwd
# /mnt/c/Users/[Windowsユーザー名]に変わっていることを確認

zsh

最近はbashよりzshを使っているので、zshを使えるようにします。

  • zshインストール
$ sudo apt install zsh
$ sudo vi  /etc/shells
# 「/usr/bin/zsh」 がなければ追加
  • Oh My Zshインストールし、プラグインインストール
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

$ mkdir ~/.zsh && cd ~/.zsh

# シンタックスハイライトのプラグイン
$ sudo apt install zsh-syntax-highlighting
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# コマンド履歴の入力補完
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

$ vi .zshrc # zsh-syntax-highlightingとzsh-autosuggestionsを追加
...
plugins=( [plugins...] zsh-syntax-highlighting zsh-autosuggestions)
...

ターミナル用フォントインストール

ターミナル用の文字をpowerline対応にする必要があります。また、綺麗な文字にしたいのでフォントをHackGenに変更します。

https://github.com/yuru7/HackGen/releases

ターミナルクライアントアプリ

最低限の機能はあるので、しばらくWindows Terminalを使ってみます。

  • Windows Terminalをインストール。

  • フォント設定
    設定→Ubuntu→外観→フォントフェイスを「HackGen Console」に設定

lsの結果でディレクトリ見づらい問題

$ dircolors -p > ~/.dircolors
$ sed -ie 's/34;42/01;32/g' ~/.dircolors
$ vi ~/.zshrc #.zshrcに追記
eval $(dircolors -b ~/.dircolors)

完成後のターミナル

イメージ

vscode

エディタ。Mac環境で設定している情報をSetting Syncで同期するだけなので大した設定はしません。

Python環境

Pythonを最近使っているので、使える環境を整えます。

pyenv

https://github.com/pyenv/pyenv
# インストール
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ cd ~/.pyenv && src/configure && make -C src


$ vi ~/.zprofile # PATHの設定。以下を追加。
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"  
eval "$(pyenv init --path)"
eval "$(pyenv init -)"

https://github.com/pyenv/pyenv/wiki#suggested-build-environment
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-dev
$ pyenv install 3.10.1
# 結構時間かかるかも知れない
$ which python
/mnt/c/Users/[Windowsユーザー名]/.pyenv/shims/python
$ pyenv global 3.10.1
$ python --version
Python 3.10.1

pipenv

Anacondaよりpipenv派。

$ pip install --upgrade pip
$ pip install pipenv
$ pipenv install --python 3.10.1 
$ pipenv install pytest

installするパッケージは何でもです。インストール出来て、Pipfile,Pipfile.lockが作成されていればOKです。

docker

まだ設定してない。

便利ツール

Clipyの代替

クリップボードにコピーした履歴を管理できるアプリ。

https://chigusa-web.com/clibor/

Alferd4の代替

ランチャーアプリ。見た目がalferd4っぽかったので採用。

https://ueli.app/#/

Karabiner-Elementsの代替

キーボードカスタマイズアプリ。

https://github.com/randyrants/sharpkeys

設定内容はWindowsのcntlとMacのcmdはだいたい同じなので、配置をそれに合わせる。

win→alt
cntl→win
Capslock→cntl
alt→cntl

参考URL

https://docs.microsoft.com/ja-jp/windows/wsl/install
https://www.beeete2.com/blog/?p=2619
https://qiita.com/Nick_ut/items/64012552092556a0a944
https://qiita.com/funacchi/items/c3bb78a546cf2605205d
https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md
https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md
https://zenn.dev/nekocodex/articles/c94ae757119b87#windows-terminalとstarshipのインストール
https://www.kwbtblog.com/entry/2019/04/27/023411
https://qiita.com/Yumaski/items/53fbd1684bee303d65aa
https://www.beeete2.com/blog/?p=2690
https://qiita.com/meruneru/items/412c4a699f45d60f478c
https://yanor.net/wiki/?Windows/WSL/ファイルシステム/共有ファイルのパーミッションをLinux上で変更する
https://laboradian.com/installation-and-setting-of-wsl/

Discussion

ログインするとコメントできます