Windows7 SP1(64bit) でStack newに失敗しまくってハマった件
随分遅ればせながら、Haskell Platform 2014.2.0.0からstack-1.2.0へ移行してみたところ、いくつか不具合があったので記しておく。
stack setupでハマる
stack-1.2.0のインストーラからstackをインストールし、
$ stack setup
しようとするも、
TlsException (HandshakeFailed (Error_Protocol ("certificate has unknown CA",True,UnknownCa)))
とか出てGHCがインストールできない。
これはどうもインストールするべきGHCのパッケージ群のバージョン等の情報を与えていないせいのようで、適当なディレクトリに
https://github.com/commercialhaskell/stack/blob/master/stack-8.0.yaml
をDL。stack.yamlにリネームした上でカレントディレクトリに置き、
$ stack setup
を実行すると、上手くGHCのインストールが出来た。
stack newでハマる
適当にHello worldでもするかと思い、ホームディレクトリで
$ stack new helloworld
としようとするも、またしても
TlsException (HandshakeFailed (Error_Protocol ("certificate has unknown CA",True,UnknownCa)))
グーグル先生曰く、一度IEで適当なHTTPSのサイトを訪問するべしとか書いてあるけれど改善しない。
で、最終的にやってみたのが、stack newの時に参照するsnapshotのURL
https://www.stackage.org/download/snapshots.json
をIEで訪問する(ファイルを開くか保存するか聞いてくるので、適当に保存しておく)という方法。
これをやった後、再度
$ stack new helloworld
すると、なんとか上手く動作した。
もし同様にハマった方は一度お試しあれ。
補足
stack newの時にやった、shapshotへのアクセスを最初にやっておけば、stack setupの時もstack-8.0.yamlの導入は要らないかもしれない。