やりたいこと
- Windows11 で プログラミング環境の構築
- Windows に Windows Subsystem for Linux (WSL) で Ubuntu を 入れる
- VSCode で Ubuntu に接続
- リポジトリ管理のために Git を入れる
- Ubuntu から GitHub の認証を通し、使えるようにする
環境情報
環境 | バージョン |
---|---|
OS | Windows 11 Pro 23H2 |
OS ビルド | 22631.3447 |
Git | 2.44.0 |
WSL | 2.1.5.0 |
Ubuntu | 22.04.4 LTS |
Windows Terminal | 1.19.10821.0 |
Visual Studio Code | 1.88.1 |
※ 2024年5月現在
Windows Terminal
- Windows Terminalアプリで PowerShell の起動確認
- ない場合は Microsoft Store で入手
Visual Studio Code
VSCode 本体のインストール:
- Visual Studio Code公式サイトからインストーラをダウンロード
- VSCode のインストール
- オプションはデフォルトのまま
- VSCode をスタートやタスクバーにピン留め(任意)
拡張機能のインストール:
- Japanese Language Pack for Visual Studio Code
- 日本語化のため
- WSL
- WSL 環境に接続するため
補足:
PowerShell から winget を使い、VSCode を簡単に入れることもできる
|
|
しかし、この方法だと以下の2点の問題が発生するので、わざわざインストーラから VSCode を入れている
- インストールウィザードで行うオプションの細かい選択ができない
- 標準の言語設定が英語になるので、後で日本語化設定をする手間が発生する
Git for Windows
実質的に、Git Credential Manager (GCM, Git資格情報マネージャー) を使うためだけに、Windows 側に Git を入れる
WSL Ubuntu に直接 GCM をインストールすることもできるが、設定が面倒なので Microsoft 公式で推奨している Git for Windows を使う方式にする
ダウンロード
- Git公式サイトから、64-bit Git for Windows Setupをダウンロード
インストールウィザード
Select Components
- Windows Explorer integration
右クリックのコンテキストメニューに Git が追加される- 個人的には必要ないので OFF
- 任意で変更
- Check dialy for Git for Windows updates
勝手にアップデートしてくれる設定- ON 推奨
- 便利なので
- Add a Git Bash Profile to Windows Terminal
Windwos Terminal に Git Bash を追加してくれる- ON 推奨
- 自分で設定するのは面倒なので
Choosing the default editor used by Git
Git のデフォルトエディタを選択
- Use Visual Studio Code as Git’s default editor
VSCode をデフォルトエディタとして選択- ここで選択するため、先に VSCode をインストールした
Adjusting the name of the initial branch in new repository
git init
で新しいリポジトリ作成時の初期ブランチ名について
- Override the default branch name for new repository
新規リポジトリのデフォルトブランチ名を上書きする- 新しいリポジトリのデフォルトブランチ名を
main
にする - 政治的なあれこれで 2021 年くらいから
master
から変更される流れになったらしい
- 新しいリポジトリのデフォルトブランチ名を
Adjusting your PATH environment
PATH環境について
- Git from the command line and also from 3rd-party software
- 推奨
- PATH に最小限の Git ラッパーだけを追加
- Git Bash、コマンドプロンプト、Windows PowerShell などから Git を使えるようにする
Choosing the SSH executable
使用する SSH を選択
- Use bundled OpenSSH
- Git に付属の ssh.exe を使用
Choosint HTTPS transport backend
Git の HTTPS 接続に使う SSL/TLS ライブラリ
- Use the OpenSSL library
サーバー証明書は、ca-bundle.crt ファイルを使って検証
Configuring the line ending conversations
改行文字の設定
- Checkout as-is, commit as-is
- テキストファイルのチェックアウトやコミットの際に、改行文字の変換を行わない
- git config における
core.autocrlf false
の設定
Configuring the terminal emulator to use with Git Bash
Git Bash で使う端末エミュレータの設定
- Use MinTTY (the default terminal of MSYS2)
MinTTY(MSYS2のデフォルト端末)を使う- Windows Terminal を使うので、正味なんでもいい
Choose the default behavior of git pull
git pull
のデフォルトの動作を選択する
- Only ever fast-forward
Fast-forward のみ- これは
git pull
の標準的な動作
- これは
Choose a credential helper
資格情報ヘルパーの選択
- Git Credential Manager
Git資格情報マネージャー
Configuring extra options
追加オプションの設定
- Enable file system caching
ファイルシステムのキャッシュを有効にする - その他、デフォルトのまま
補足:
PowerShell から winget を使い、Git for Windows を簡単に入れることもできる
|
|
しかし、この方法だと以下の2点の問題が発生するので、わざわざインストーラから Git を入れている
- インストールウィザードで行うオプションの細かい選択ができない
- 標準の言語設定が英語になるので、後で日本語化設定をする手間が発生する
.gitconfig
の設定
Git 環境の設定を行う
C:\Users\[username]\.gitconfig
ファイルを作成
※ Gitのインストールで、エディタの指定のために
自動で.gitconfig
ファイルは既に作成されている- 設定を記入
- Gitユーザ名:
[username]
を自分の Git ユーザ名に変更 - コミットメールアドレス:
[email]
を自分のメールアドレスに変更
|
|
コマンドで設定する場合:
|
|
WSL
WSL2 (Windows Subsystem for Linux version 2) のインストールを行う
前提条件:
- Windows 10 2004 以上(ビルド19041以上)
- Windows 11
- 前提条件を満たすWindowsはすべてサポート内のため、通常は問題ないはず
手順:
- PowerShell を管理者モードで開く
wsl --install
コマンドを入力- パソコンを再起動
補足:
- Home 版でも WSL は使える
- デフォルトのディストリビューション:Ubuntu
- Hyper-V などの仮想化環境設定は自動で有効になる\
- この機能を有効にするため、Windowsの再起動が必要
- Windows Terminal に Ubuntu が自動で登録される
参考:WSL のインストール | Microsoft Learn
Ubuntu
Ubuntuの設定
初期設定
Ubuntu の初回起動時には、ユーザを作成する必要がある
手順:
- Microsoft Store から Ubuntu を入れる
- 通常は
wsl --install
コマンドで一緒に Ubuntu も入る
- 通常は
- Windows Terminal から Ubuntu を初回起動
- 通常は
wsl --install
コマンドで同時に進行する
- 通常は
- ユーザ名を入力
- パスワードを入力
参考:WSL 開発環境を設定する | Microsoft Learn
補足:
- 個人的には、セキュリティが求められるところではないと思っているので
ユーザー名とパスワードは短い文字列にしている - 私的設定
- username: az
- password: a
パッケージ更新
※ これ以降は、VSCode で WSL Ubuntu を開いてもいい
- パッケージを更新およびアップグレードして、ディストリビューションを最新の状態にする
Ubuntu, Debian の場合:
|
|
- Ubuntuのバージョンを確認
Ubuntu バージョン確認コマンド:
|
|
sudo でパスワード入力を不要にする(任意)
sudo コマンドを使った際に、パスワードが「a」の一文字でも面倒だから、
パスワード入力をしなくてもいいようにする
やらなくてもいい
sudo visudo
コマンドを実行
|
|
/etc/sudoers を編集する GNU nano エディタが起動する
- これ↓をファイルの一番下に書く
|
|
必ず %sudo
より下に書くこと[username] は Ubuntu のユーザネームに置き換え
- ctrs + s で上書き保存
- ctrs + x で閉じる
Git インストール
- できるだけ新しいバージョンのGitにするため、ppa を設定する
|
|
- Git を更新する
|
|
参考:Git - Download for Linux and Unix
Git Credential Manager
Git for Windows の Git Credential Manager で、資格情報を登録できるようにされている
WSL と Windows ホストの間で資格情報と設定を共有するために、.gitconfig
に設定を追加する
.gitconfig
は、Windows と WSL 内で引き継ぎは行われないので、WSL Ubuntu のホームに .gitconfig
ファイルを作成し、設定を書く
/home/[username]/.gitconfig
ファイルを作成- 設定を記入
- Gitユーザ名:
[username]
を自分の Git ユーザ名に変更 - コミットメールアドレス:
[email]
を自分のメールアドレスに変更
|
|
コマンドで設定する場合:
|
|
参考:WSL で Git の使用を開始する | Microsoft Learn
GitHub
GitHubの設定
Git 資格情報を登録
- 既定のブラウザで GitHub にサインインした状態にする
git clone
などのコマンドでGitHubに接続- GitHub のリポジトリに初めて接続したとき、
Git Credential Manager による認証が行われる
- GitHub のリポジトリに初めて接続したとき、
- ブラウザで認証する
- Windows 資格情報マネージャで確認
GitHubアカウントでVSCodeの設定を同期(任意)
GitHubアカウントを使って VSCode の設定を他の PC と同期する
設定はクラウドに保存されるため、バックアップとしても使える
- VSCode 左下のアイコンから「サインインして設定を同期する」を選択
- 同期したい設定を選択
- 同期したアカウントを選択 -> GitHub