IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

ターゲット指定のcabalのrepl

cabalファイルで複数のターゲットを作り、cabal replすると起動ができなくなります。

$ cabal repl
cabal: The 'repl' command does not support multiple targets at once.
$

また、ターゲットの名前が重複すると起動しません。

$ cabal repl  myprotobuf
cabal: Ambiguous build target 'myprotobuf'. It could be:
exe:myprotobuf (component)
lib:myprotobuf (component)

この場合、cabal repl 種別:名称で指定します。

$ cabal repl exe:myprotobuf
$ cabal repl lib:myprotobuf
$ cabal repl test:MyTestSuite01

cabalファイルで記載する場所の例は下記です。

name:                myprotobuf
version:             0.1.0.0
...
executable myprotobuf    ### ここの名称
  main-is:             TCP01.hs
  other-extensions:    BangPatterns, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses
...
library lib-xproto   ### ここの名称
...
  exposed-modules:      DataBase.MySQLX.CRUD
...
Test-Suite MyTestSuite01   ### ここの名称
  type: exitcode-stdio-1.0