環境構築(再)
昨日の勉強会では残念ながら時間切れで、自分の想定した環境を構築できませんでした。
途中でバグが出ているのが解消できなかったです。
もしかするとですが、インストールする順番が微妙に変わると、
ダメなのかも知れません。確かに家でやっていた時も正確に同じ手順でないとダメでした。
その辺り、進行役としてうまく進められず反省しています。
勉強会では、VSCodeを使い慣れている方ばかりでした。
上で失敗しているのもあるので、基本的にはVSCode + HIE で勉強会を進めることにします。VSCodeだとこういうの(https://hackage.haskell.org/package/phoityne-vscode)もあるんですね。試してみたくなりました。
また、環境構築でコケて勉強会が進まないのも面白くないので、
GUI(Gtk)部分や自然言語処理前処理に関しては、勉強会の会を重ねる際に、少しずつ整えていくことにします。
Gtkよりも具合の良いGUIがあればそちらにすることも検討します。そのあたりは柔軟に進めていきます。
なので、次回までに以下の環境を整えておいてください。 下の説明はプログラミング初心者向けでないので、後で詳細なやり方を別途掲載します。
1. Haskell Stack
2. HIE – Haskell IDE Engine
ビルドに結構時間がかかるので、お家でやっておく必要があります。
HIEだけはハマった部分があるので、解説しておきます。
HIEはGHC(Haskellのコンパイラです)とバージョンを合わせておく必要があります。例えば、以下はstack buildというコマンドを叩いたときの結果ですが、ghc-8.6.5みたいのが見えていると思います。
この8.6.5に合わせる形でHIEをインストールする必要があります。公式の中段あたりに書かれています。具体的には、以下のコマンドをうってくださいとのことです。バージョンが違えば8.6.5の箇所が変わってきます。
stack ./install.hs hie-8.6.5 stack ./install.hs data
さらに以下はWindowsの方向けです。
情報のソースはこのページです。
結論から言うと、上記コマンド、すなわち
stack ./install.hs hie-8.6.5
のようなコマンドを実行する前に、
chcp 65001
を実行しておいてください。
このたぐいのエラーは、HaskellでWindowsで日本語を扱う場合にもよく出てくるエラーです。
このページを見てください。
3. エディタ – VSCode
拡張Haskell Language Server
も入れておいてください。 更にこのページ(https://github.com/haskell/haskell-ide-engine/issues/1616)を参考に、hie.yamlというファイルを自分でつくってプロジェクトのルートに入れておいてください。
備考(Windowsで先日バグっていた方へ)
お手数をお掛けしますが、以下の2つの対応をおねがいします。
1. Stackのアンインストール
Stackをアンインストールしてください。
これで、Stack関連がPath含め全て消えるはずなのですが、
実はC:\srというディレクトリにStack関連のファイルが残っています。
こちらも削除してください。
2. msys2のアンインストール
更にmsys2もアンインストールし、先日設定した、環境変数周りも消してください(これはGtk2をインストールするためのものでした。問題の棚上げになってしまいますが、GUIが出てきた際に再検討します。開発環境を揃える目的でdockerを使う等の案が出ています)。
以下の3つに相当するものです。
PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin;%PATH%
PKG_CONFIG_PATH=C:\msys64\mingw64\lib\pkgconfig
XDG_DATA_DIRS=C:\msys64\mingw64\share
その後で上の1.Haskell Stack、 2.HIE、 3.VSCodeのインストールを再度行ってください。
お手数をお掛けしますが、よろしくお願いします。
(※1)
すごい人がdockerで環境構築をする試みをしてくれてます。現状は実験的試みらしく、上の案が今のところ良さそうですが、期待しています。
また、vagrantで整えるのはどうかというお便りもいただきました。こちらも挑戦してみます。