LoginSignup
5
5

More than 3 years have passed since last update.

Windows環境でのStackのアンインストール

Posted at

前書き

The Haskell Tool StackのサイトではUn*x OS環境へのインストール方法とは別に、Windows環境へのインストール方法も記載があるものの、アンインストールについては
Removing ~/.stack and /usr/local/bin/stack should be sufficient.
との記載があるだけ。
ところがWindows環境ではそんなモノはないので、ここで詰んでしまう。
プログラミング開発、Windowsユーザーに冷たすぎ問題がここでも。

結論

次を削除する。

  • stack-root(Linuxなら~/.stack)であるc:\srを丸ごと削除
  • Linuxではstack-root配下にあるprogramsが、windowsの場合にはAppData\Local\Programsにあるのでstackフォルダを丸ごと削除
  • windowsの場合、stack installでできたexeファイルとstackの実行ファイル自身が、ユーザーフォルダ配下のAppData\Roaming\local\binにあるので、不要なものを削除する

Windowsのstackにはアンインストーラーも付いてくるが実行しても

  • stackの実行ファイルの削除
  • ユーザー環境変数(後述するstack-rootlocal-binへのpath)の削除

のみのようで、一連の関連フォルダは残ってしまうので手作業で削除する。

詳細

Stackの各種パス比較

stack pathコマンドの応答結果比較。
xxxxxはユーザー名

path Linux Windows
stack-root /home/xxxxx/.stack C:\sr windowsのsnapshotはここ
programs /home/xxxxx/.stack/programs/x86_64-linux C:\Users\xxxxx\AppData\Local\Programs\stack\x86_64-windows
local-bin /home/xxxxx/.local/bin C:\Users\xxxxx\AppData\Roaming\local\bin stack installで出来た実行fileの置き場
stackの実行file /usr/local/bin/stack C:\Users\xxxxx\AppData\Roaming\local\bin\stack.exe
  • programsにはwindowsの場合、当方の環境ではghcmsys(と7Z)があった
  • local-binstack installでできた実行ファイルをコピーして置く場所で、具体的には当方の環境ではdoctest,hlint,interoといった辺りの実行ファイルがあった。windowsの場合Stack自身とそのアンインストーラーもここに置かれる。

アンインストールとは直接関係ないのですがstack pathで応答される

  • local-bin
  • local-bin-path

の違いが分からない。
もしかすると上の説明もlocal-bin-pathを使ったほうが適切なのかも(当方の環境ではいずれも同じパスが指定されています)

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5