- Google Compute Engineのインスタンスをdebian stretchで、DISKは30GBにして作成
- いろいろ調べてCygwinのsshでインスタンスにつなげるようにする
- とりあえずemacs と haskell-modeをsudo apt-get installでインストール
-
https://docs.haskellstack.org/en/stable/README/
に従って、以下でインストール
curl -sSL https://get.haskellstack.org/ | sh - さらに以下を言われたとおりにやって、動作確認
stack new my-project
cd my-project
stack setup
stack build
stack exec my-project-exe - 次にSpock
https://www.spock.li/tutorials/getting-started
を見ながらやる。まずstack new spock-test01
cd spock-test01 - 次にpackage.yamlのdependenciesを以下のように修正(baseはそのままで)(これをきちんと書いてくれてないのが...)dependencies:
- base >= 4.7 && < 5
- Spock >=0.11
- mtl
- text - 次。stack.yamlのresolver, extra-depsを修正
resolver: lts-8.13
(中略)
extra-deps:
- Spock-0.13.0.0
- Spock-core-0.13.0.0
- reroute-0.5.0.0 - stack build --fast --pedantic
これが終わるまでしばらく待つ - Spockのサイトに書いてあるコードをapp/Main.hsにコピペ
- もう一度stack build --fast --pedantic
- stack exec spock-test01-exe &
- 動作確認
wget http://localhost:8080; cat index.html
でHello World!が出るか確認 - いったんsudo shutdown -h now
- GCEのコンソールのVPCネットワークでport 8080の穴をあけるFWルールを作成し、すべてに適用にしておく
- 再度VMを起動。
- もう一度 stack exec spock-test01-exe
- ブラウザでhttp://(インスタンスのip):8080/hello/torilonで
Hello torilon, you are visitor number 1
が出れば成功
ふぅ~、ここまで結構大変。お疲れ様でした。