C ドライブ依存を減らす

いろいろなソフトウェアがデフォルトで何でも C ドライブを使う。

C ドライブが手狭になってきたのでいくらかのデータを別ドライブに移行する方法をメモしておく。

Stack

Stack(Haskell)のリソースはユーザー環境変数 STACK_ROOT の指すディレクトリーに保存される。デフォルト値は C:\sr である。パス長制限の問題があるので浅い場所がよい。D:\stack に変更した。

Stack によってインストールされる GHC や MSYS2 は LOCALAPPDATA\Programs\stack にある。これは STACK_ROOT\config.yamllocal-programs-path を記載すると変更できる。非 Windows 環境では STACK_ROOT\programs らしいということもあり D:\stack\programs に変更した1

STACK_ROOT\config.yaml に記載する Non-project-specific configSTACK_ROOT\global-project\stack.yaml に記載する Project-specific config は別物なので注意する。

75 GB ぐらいだった。

Chocolatey

Chocolatey のリソースはシステム環境変数 ChocolateyInstall の指すディレクトリーに保存される。D:\Chocolatey に変更した。choco.exeChocolateyInstall\bin にあるのでシステム環境変数Path に追加しておく2

いくつかのパッケージの実行ファイルが保存される場所はユーザー環境変数 ChocolateyToolsLocation によって示される。D:\tools に変更した。


  1. LOCALAPPDATAディレクトリーの役割についてはWindowsのディレクトリ構成ガイドライン - torutkのブログが日本語で完結に知れる。

  2. 通常ユーザー環境変数は同名のシステム環境変数を上書きするが、Path は特別で実行ファイルを探すときはシステム環境変数Path から検索した後にユーザー環境変数Path から検索する。