概要
すごい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
とすることで無事インストールできました。
同じようなエラーに苦しむ人のためになれば幸いです。