開発環境構築 - ytak-sagit/hands-on-rust-for-backend GitHub Wiki
下記の開発環境構築手順を記す
- Windows 11 Home 23H2
- WSL2 + Ubuntu v22.04
- devcontainer
- Rust 最新版
参考
手順
WSL2 + Ubuntu 等の前準備は、こちらを参照(#1-#4まで同じ)
以降の手順
devcontainer.json
作成settings.json
作成- Git 向け SSH 鍵の設定
- 開発用コンテナの作成・起動
- Rust の動作確認
- GitHub への SSH 導通確認
devcontainer.json
作成
1. 参考ページ記載のものをコピペ。ただし、
name
の内容を変更- 「Git Graph」拡張機能を追加
- GitHub Actions 向け拡張機能を追加
// .devcontainer/devcontainer.json
{
"name": "Rust for a backend engineer",
"image": "mcr.microsoft.com/devcontainers/rust:latest",
"customizations": {
"vscode": {
"extensions": [
"vadimcn.vscode-lldb", // コンパイル言語のデバッグ用
"tamasfe.even-better-toml", // *.toml 用
"fill-labs.dependi", // crate 管理用
"Swellaby.vscode-rust-test-adapter", // Rust 用テストエクスプローラー
"JScearcy.rust-doc-viewer", // ローカルで生成された Rust ドキュメント用ビューワ
"rust-lang.rust-analyzer", // Rust の入力補完や文法ミスチェック等
"github.vscode-github-actions", // GitHub Actions
"mhutchie.git-graph" // Git Graph
]
}
}
}
settings.json
作成
2. formatter と linter の設定を追加。ただし、
- ファイルの自動保存設定をOFFへ変更(能動的にファイルを保存 -> format&lintがかかる、という形としたいため)
// .vscode/settings.json
{
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer",
"editor.formatOnSave": true,
"files.autoSave": "off",
},
"rust-analyzer.checkOnSave": true,
"rust-analyzer.check.command": "clippy", // linter
}
3. Git 向け SSH 鍵の設定
- ホスト(WSL2)側のユーザと開発用コンテナ側のユーザが異なる場合、リモートリポジトリ向けの Git 操作が行えない
~/.bashrc
に以下を追記するif [ -z "$SSH_AUTH_SOCK" ] ; then eval $(ssh-agent) # ssh-agent の起動 ssh-add ~/path/to/ssh-key # ssh-agent に SSH 鍵を登録 fi
- VSCode を再起動し、SSH 鍵が登録されているかチェック
ssh-add -L #> ~/path/to/ssh-key の内容が表示されていれば OK
4. 開発用コンテナの作成・起動
VSCode 上で Ctrl + Shift + P
を押下し、「Devcontainers: Reopen in Container」を選択
- 開発コンテナが作成され、VSCode 上で起動した状態となる
- Docker Compose を使う場合と起動手順は変わらない
📝devcoitainer.json の "image" を指定した場合でも、特に問題なくコンテナ起動できた
-> 細かい設定をしなくて良い場合はこの方が簡単でラク
-> 🌸`git` コマンドも image にインストール済なので Git 操作できるのがよき
-> 💀Docker image が「2.52GB」もあるのがちょっとネック
5. Rust の動作確認
Rust コンパイラ rustc
のバージョンチェック
rustc --version
#> rustc 1.81.0 (eeb90cda1 2024-09-04)
ビルドシステム兼パッケージマネージャ cargo
のバージョンチェック
cargo --version
#> cargo 1.81.0 (2dbb1af80 2024-08-20)
6. GitHub への SSH 導通確認
手順3.で登録した SSH 鍵により、GitHub への SSH 接続ができるか動作確認
ssh -T [email protected]
#> Hi <git の user.name>! You've successfully authenticated, but GitHub does not provide shell access.