2016-05-12 33 views
0

Nach Erstellen eines neuen Projekts:Hinzufügen Dependency - Parse Fehler

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

ich versucht, diese ZeroMQ Bibliothek hinzufügen, indem Sie die Aktualisierung meiner 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 

Aber ich folgendes beim Laufen stack clean:

$stack clean 
Unable to parse cabal file .../workbench/workbench.cabal: NoParse "build-depends" 19 

Was mache ich falsch?

+7

Versuchen Sie, ein Komma zwischen Abhängigkeiten hinzuzufügen, z. 'base> = 4.7 && <5, zeromq-haskell' - auch wenn sie sich auf verschiedenen Linien befinden. – ErikR

+3

@ErikR Das ist kein Kommentar, das ist eine Antwort! –

Antwort

2

Jede Liste in einer Kabeldatei muss durch Kommas getrennt sein, nicht durch Leerzeichen getrennt. Die Vorschriften für .cabal Dateien 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 

* Lustig genug, die Definition eines x list fehlen würde.

+0

Einige Felder wie 'exposed-modules' und' extra-source-files' _können_ zumindest whitespace-separiert sein. Ich bin mir nicht sicher, ob es irgendwelche Felder gibt, die durch Leerzeichen getrennt sein müssen ... – sjakobi

+0

^Die komplizierten Syntaxregeln von Cabal-Dateien sind ein Grund, warum ich 'hpack' für neue Projekte verwende. Mit 'hpack' kann ich stattdessen die Metadaten des Projekts in' Yaml'-Syntax definieren. – sjakobi