🐧
開発環境 on WSL2 で生きていく
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
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
poetry
pipx
で入れるのがどう考えても正解なので、変更する
# install pipx
sudo apt update
sudo apt install pipx
pipx ensurepath
# install poetry via pipx
pipx install poetry
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