4クロックで支度しな

脊髄反射で思ったことを書き垂れます。68060とか名乗っときながら4クロックはヌルいとか言わないで。

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の導入は要らないかもしれない。