hieのインストールに苦労した(Windows10)

※Qiitaにも挙げた記事です

概要

すごいH本をずっとやれていなかったので、パソコンも買い替えたことだしhaskellの環境を構築しようと思いました。stackをつかってhie-8.6.5をインストールしようとしたけど思ったより苦労しました。

当方の環境は、 OS:Windows10, stack 2.1.1(Chocolatey), Hie-8.6.5

作業はpower shellを使って行いました。

Stackのインストール

Chocolateyでインストールしました。パスを通すのも自動でやってくれました。

hieのインストール

公式?にあるようにgitでダウンロードしました。

git clone https://github.com/haskell/haskell-ide-engine --recurse-submodules

(補足)Windowsの場合の注意点としてファイルパスが長くならないように(or長くなってもいいように)したほうがいいとのことだったので、念のため、haskell-ide-engineのディレクトリはC:\hieに変更しておきました。公式も(optional)としているのでやってなくても大丈夫かもしれません。

C:\hieに移って、

stack .\install.hs help

とし、hie-8.6.5が利用可能なことを確認し、

stack .\install.hs hie-8.6.5

としてインストールしようとしました。が、ここでうまくいきませんでした。

hieのインストールでエラー

処理が進行していっても途中で、invalid characterと言われてしまい、インストールを完了できませんでした。

hieのインストールでこのようなエラーに出会われてる方があまりいらっしゃらないようで、解決に苦労しました。ですが、このエラーはhaskellでよくあるようで、こちらを参考にしました。https://haskell.jp/blog/posts/2017/windows-gotchas.html

解決策

インストールを始める前に

chcp 65001

として文字コードを変更しました。

つまり、インストールの流れをまとめると、

chcp 65001
stack .\install.hs help
stack .\install.hs hie-8.6.5

とすることで無事インストールできました。

同じようなエラーに苦しむ人のためになれば幸いです。