Windows 開発環境
はじめに
Windows で UNIX ライクなコマンドライン操作を行うには、いくつかの選択肢がある。
- WSL (Windows Subsystem for Linux)
- Windows で Linux ディストリビューションを実行する環境を提供する機能。
- WSL2 からは、カーネルも Linux になっている。
- Microsoft としては WSL を推奨している。
- 便利だが、ディスクスペースを食いつぶす問題がある。
- PowerShell
- Microsoft 製 CUI。UNIX とは異なる体系。
- コマンドレットエイリアスのおかげで多少の互換はある。
- いずれにしても最初はアプリケーションのインストールのために PowerShell での作業になる。 (GUI でもいける。)
- Git Bash
- 後述する Git for Windows をインストールするとついてくる UNIX ライクな環境。
- パッケージ管理とかビルドユーティリティとかはついてない最低限の構成。
- MSYS2 + MinGW
-
MSYS2 は Windows における POSIX 準拠を目指した開発環境。 パッケージ管理ツールとして Arch Linux で使われる
pacman
をフォークしている。 - MinGW は Windows 用の C/C++ ビルドツールチェイン。
他の UNIX 系 OS との互換性をできる限り保つなら WSL、 Windows (C ドライブ) 内の作業で完結させつつもビルド環境が必要なら MSYS2 + MinGW、 それ以外の用途なら PowerShell か Git Bash がいいのでは。
デスクトップを OneDrive 下に置く設定は無効にして C:/Users/_username_
で作業する方が安全。
パッケージ管理
Windows におけるパッケージ管理の主な選択肢として、 Microsoft 公式の Winget、 古株で対応するパッケージも多い Chocolatey、 ユーザー権限で使いやすい Scoop の3つがある。
Winget
新しめの Windows ならデフォルトで使えるはず。 後述のツールはどれも winget で入れることができる。
Basic usage
winget install/uninstall
- パッケージのインストール/アンインストール
winget search
- パッケージの検索
-
例:
winget search rstat
winget list
- インストール済みパッケージの表示
Chocolatey
Chocolatey のインストール
PowerShell を管理者として開く。その後下記のインストールコマンドを実行:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Basic usage
choco install/uninstall
- パッケージのインストール/アンインストール (管理者権限が必要)
choco search
- パッケージの検索
choco list
- インストール済みパッケージの表示
Scoop
インストール
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
Git
プロジェクトのバージョン管理のためにも必須。 インストールは winget か、Git for Windows を参照。
R
VSCode で使うには PATH を教えてあげる必要がある:
settings.json
{
"r.rpath.windows": "C:\\Program Files\\R\\R-4.4.0\\bin\\x64\\R.exe",
"r.rterm.windows": "C:\\Program Files\\R\\R-4.4.0\\bin\\x64\\Rterm.exe",
}
Python
統合開発環境
好きなやつを入れる:
Quarto
https://quarto.org/docs/get-started/
Windows 用のやつを入れてあげる。 (R に付属しているやつを使うことはできなさそう?)
PDF のレンダリング用に tex を入れてやる (c.f. ~/AppData/Roaming/TinyTeX/
):
quarto install tinytex
PDF で日本語フォントを使うには?
Quarto PDF で日本語フォントを使う場合、 デフォルトでは原ノ味フォントが使われるらしい。 Ubuntu とかは最初のインストールでプリセットされていたはずだが、 Windows の Quarto では原ノ味含め、日本語フォントがプリセットされていないっぽい。
そこで、tlmgr
を使ってフォントをインストールしてやることで使えるようになる:
> .\AppData\Roaming\TinyTeX\bin\windows\tlmgr.bat install haranoaji
Locale 'Japanese_Japan.932' is unsupported, and may crash the interpreter.
tlmgr.pl: package repository https://ftp.kddilabs.jp/CTAN/systems/texlive/tlnet/ (verified)
[1/1, ??:??/??:??] install: haranoaji [25570k]
Locale 'Japanese_Japan.932' is unsupported, and may crash the interpreter.
running mktexlsr ...
done running mktexlsr.
tlmgr.pl: package log updated: C:/Users/kokep/AppData/Roaming/TinyTeX/texmf-var/web2c/tlmgr.log
tlmgr.pl: command log updated: C:/Users/kokep/AppData/Roaming/TinyTeX/texmf-var/web2c/tlmgr-commands.log