我想使用堆栈安装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来安装包,以防止破坏某些依赖。
答案 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