2016-05-12 53 views
0

創建一個新的項目後:添加依賴解析錯誤

$cd myproject 
$stack new workbench 
$cd workbench/ 
$stack setup 

我試圖通過更新添加此ZeroMQ庫我workbench.cabal

$cat workbench.cabal 
name:    workbench 

... 

library 
    hs-source-dirs:  src 
    exposed-modules:  Lib 
    build-depends:  base >= 4.7 && < 5 # my note: line 19 
         zeromq4-haskell 
    default-language: Haskell2010 

但是,我得到的運行stack clean時,以下幾點:

​​

我在做什麼錯?

+7

嘗試在依賴項之間添加逗號,例如, 'base> = 4.7 && <5,zeromq-haskell' - 即使它們在不同的行上。 – ErikR

+3

@ErikR這不是一個評論,這是一個答案! –

回答

2

cabal文件中的任何列表必須以逗號分隔,而不是以空格分隔。關於.cabal文件are listed in the user guide *規則:

library 
    hs-source-dirs:  src 
    exposed-modules:  Lib 
    build-depends:  base >= 4.7 && < 5, 
         zeromq4-haskell 
    default-language: Haskell2010 

*滑稽得很,x list的定義缺失那裏。

+0

像'exposed-modules'和'extra-source-files'這樣的一些字段_can_至少可以以空格分隔。我不確定是否有任何字段_must_被空白分隔儘管... – sjakobi

+0

^cabal文件的複雜語法規則是爲什麼我在新項目中使用'hpack'的原因之一。使用'hpack',我可以用'yaml'語法來定義項目的元數據。 – sjakobi