堆栈安装elm-export失败

时间:2018-03-18 02:27:56

标签: elm haskell-stack

我想使用堆栈安装elm-export包。它需要在servant-elm示例中导入。

就像:

壳> stack install elm-export

壳>

没有错误消息。所以我认为它已经安装好了。

但是当我堆叠构建时,

错误消息显示:

test-0.1.0.0: build (exe)
Preprocessing executable 'test' for test-0.1.0.0..
Building executable 'test' for test-0.1.0.0..
[1 of 1] Compiling Main             ( src\Main.hs, .stack- 
work\dist\5c8418a7\build\test\test-tmp\Main.o )

C:\Code\Haskell\11_Stack-Projects-That-Need-Dependency\test\src\Main.hs:6:1: 
error:
Could not find module ▒▒Elm▒▒
Use -v to see a list of the files searched for.
  |
6 | import           Elm          (Spec (Spec), specsToDir, toElmDecoderSource,
  | 

 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...

我的问题是,我在哪里可以检查软件包是否已安装?我该如何解决这个问题?

PS。 Cabal成功安装了elm-export和servant-export,并且runghc成功运行了示例代码。现在我正在尝试使用stack来安装包,以防止破坏某些依赖。

1 个答案:

答案 0 :(得分:1)

如果要在haskell堆栈包中使用此库,则无需运行stack install。相反,您需要将其添加到项目依赖项中。

请参阅HaskellStack User Guide (adding dependencies)

根据你所拥有的堆栈版本,我认为这可能是两个地方之一:

  • 如果您有 packages.yaml ,请在“依赖项”部分中添加

    dependencies:
    
        - base >= 4.7 && < 5
        - elm-export >= 0.6 && < 1.0
    
  • 如果您没有packages.yaml,请直接将其添加到 cabal文件

    library
      hs-source-dirs:
          src
      build-depends:
          base >=4.7 && <5
        , elm-export >= 0.6 && < 1.0
    

仅供参考:stack install用于安装可执行文件,然后您可以在命令行中使用它们。它可以在haskell堆栈项目的内部或外部使用。 我不认为elm-export声明任何可执行文件,这就是为什么它没有输出任何东西。一些例子是pandoc,hindent等。这些是haskell库,它们还提供了可以使用堆栈安装的可执行文件。

$ stack install pandoc
...
Copied executables to /Users/<me>/.local/bin:
- pandoc
$ pandoc --help
pandoc [OPTIONS] [FILES]
  -f FORMAT, -r FORMAT  --from=FORMAT, --read=FORMAT