Windowsで開発環境構築
最近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ユーザー配下に変更します。
windows配下にWSLのホームディレクトリを設定すると、WSLで操作するファイルをwindowsのファイルシステム配下に置くため非常に遅くなるためお勧めしません!
https://docs.microsoft.com/ja-jp/windows/wsl/setup/environment#file-storage より
使用する予定のツールと同じオペレーティング システムにプロジェクト ファイルを格納します。
Linux ツールを使用して Linux コマンド ライン (Ubuntu、OpenSUSE など) で作業している場合、最速のパフォーマンス速度を実現するには、ファイルを WSL ファイル システムに格納します。 Windows ツールを使用して Windows コマンド ライン (PowerShell、コマンド プロンプト) で作業している場合、ファイルを Windows ファイル システムに格納します。 オペレーティング システム全体のファイルにアクセスできますが、パフォーマンスが大幅に低下する可能性があります。
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に変更します。
ターミナルクライアントアプリ
最低限の機能はあるので、しばらく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で同期するだけなので大した設定はしません。
- インストール
-
vim拡張
- windowsのcntlとvimのcntlがかぶっているため、togglevimでvim拡張を切り替えるショートカット追加
Python環境
Pythonを最近使っているので、使える環境を整えます。
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 -)"
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の代替
クリップボードにコピーした履歴を管理できるアプリ。
Alferd4の代替
ランチャーアプリ。見た目がalferd4っぽかったので採用。
Karabiner-Elementsの代替
キーボードカスタマイズアプリ。
設定内容はWindowsのcntlとMacのcmdはだいたい同じなので、配置をそれに合わせる。
win→alt
cntl→win
Capslock→cntl
alt→cntl
参考URL
Discussion