開発環境 on WSL2 で生きていく
最初に注意
- 私のメモ用なので、細かい解説はしない
- WSLでXXXの開発がしたい・環境が作りたいだけであれば、こんなとこ読まずに生成AIに聞いた方が早いです
Terminal
Windows Terminalを入れる
WSL
powershell とかで
wsl --install
user / pass 入力を求められるのでここで決める。これはUbuntuのパスワードとなる
ネットワーク改善
名前解決が遅いだの、NATドライバがダメだの色々あったらしいが、mirrormodeで解決しているらしい。
[wsl2]
networkingMode=mirrored
上記を%userprofile%.wslconfig
に設定を追加して、wsl --shutdown
で再起動
asdf
0.16.x 以降 やめて mise
コマンドが少し変わったのと、メリットが見えないgo-lang化で使う気が失せた。これを機に mise
に乗り換えた。
こっちはRustらしいが、まあ大して変わらん。
0.16.x 以前
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0
echo '. "$HOME/.asdf/asdf.sh"' >> .bashrc
echo '. "$HOME/.asdf/completions/asdf.bash"' >> .bashrc
source .bashrc
python
mise
python入れるだけ
asdfの頃
sudo apt update
sudo apt upgrade
asdf plugin add python
#ubuntu 24
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncurses-dev xz-utils tk-dev libffi-dev liblzma-dev
#ubuntu 22
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl \
libncurses-dev xz-utils tk-dev libffi-dev liblzma-dev
asdf install python 3.10.14
asdf list python
# 結果がおかしければ
asdf reshim python
asdf global python 3.10.14
pipx
pipで突っ込むコマンド系を、コマンドごとにvenvを作って管理してくれるらしい。良いことしかないので、これは入れ得
sudo apt update
sudo apt install pipx
pipx ensurepath
自分は vd
とか poetry
とかをこれで入れた
uv
poetry から乗り換えた
uv は poetry以上にバージョン管理出来る対象が多い、むしろ多すぎる気がするので python本体のバージョンは mise
で pyproject & venv は uv
でとする。つまり poetryの守備範囲だけを uvにそのまま移し替え。これが正解ではないので自分のやりたいようにやること
mise
で入れるのが良さそう、pipx
でも良いかもと思うが、python本体のバージョン管理も出来ちゃうので、ちょっと嫌
# install via mise
mise install uv
uv メモ
- ほぼ poetry と同じ使い方でいける
- .venv は プロジェクト直下に出来てるぽい
- uv add でパッケージ追加
- uv run で実行
gcloud
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-477.0.0-linux-x86_64.tar.gz
tar xf google-cloud-cli-477.0.0-linux-x86_64.tar.gz
./google-cloud-sdk/install.sh
rm -rf google-cloud-cli-477.0.0-linux-x86_64.tar.gz
gcloud auth login
gcloud config set project pj-hoge
GPG(import)
gpg4winにてすでに秘密鍵は持っている前提で書いてる。インストールしてないなら先に入れる
秘密鍵は、WSLにも差し込まないとだめっぽいので、秘密鍵をエクスポートしてローカルに保存しておく
保存した秘密鍵をWSL内にコピーする
# 自分の環境に合わせて
cp /mnt/c/User/[your]/Download/my-private-key.asc .
# 秘密鍵インポート&信頼する
gpg --import my-private-key.asc
gpg --list-secret-keys --keyid-format LONG
# key-id をメモしておく
gpg --edit-key [key-id]
> trust
> 5 (select)
> quit
GPG agent
GPGのパスフレーズ入力をどこでやるかの設定。もうLinuxの世界で生きていくならexport GPG_TTY=$(tty)
にすれば良い。
git操作とかも VS-Codeに依存するならば、Gpg4win の pinentry を使う。
EditorはVIMを前提のコマンドにしているが、nanoでも何でもOK。
vim ~/.gnupg/gpg-agent.conf
中身は
# pinentry
pinentry-program /mnt/c/Program Files (x86)/Gpg4win/bin/pinentry.exe
git config
git config --global user.name "hoge.fuga"
git config --global user.email "hoge@example.com"
git config --global user.signingkey [key-id]
git config --global commit.gpgSign true
Discussion