使用堆栈导入子包
Importing sub-packages with stack
我不明白如何在堆栈中导入 "sub-packages"(如果这不是正确的术语,请告诉我,以便我进行编辑)。
这是一个简单文件的顶部:
{-# LANGUAGE OverloadedStrings #-}
module Conduit where
import Data.Conduit
import qualified Data.Conduit.List as CL
import qualified Data.Conduit.Binary as CB
列出了两个依赖项。在 myproject.cabal 中,我有:
executable myproject
hs-source-dirs: src
main-is: Main.hs
default-language: Haskell2010
build-depends: base >= 4.7 && < 5,
conduit
stack build -v
给我这个错误:
2018-02-08 13:28:06.923836: [warn] 7 | import qualified Data.Conduit.Binary as CB
我不确定要在 cabal 可执行指令中包含什么,每一个都会抛出错误:
build-depends: base >= 4.7 && < 5,
conduit,
conduit.list,
conduit.binary
build-depends: base >= 4.7 && < 5,
conduit,
conduit-list
conduit-binary
Data.Conduit.Binary
is a module. It is part of a package called conduit-extra
。包是 Stack(和 cabal-install,你是否使用它)安装的,以及你应该添加到 .cabal 文件的 build-depends
的内容:
build-depends: base >= 4.7 && < 5,
conduit,
conduit-extra
至于Data.Conduit.List
, it is part of the conduit
package, so you don't need another entry for it. One quick way of clarifying such things is doing a Hoogle search for the module(它所属的包会在文档页面的顶部栏中指出)。
另请参阅:What's the difference between module, package and library in Haskell?; Packages, modules and import in Haskell。
我不明白如何在堆栈中导入 "sub-packages"(如果这不是正确的术语,请告诉我,以便我进行编辑)。
这是一个简单文件的顶部:
{-# LANGUAGE OverloadedStrings #-}
module Conduit where
import Data.Conduit
import qualified Data.Conduit.List as CL
import qualified Data.Conduit.Binary as CB
列出了两个依赖项。在 myproject.cabal 中,我有:
executable myproject
hs-source-dirs: src
main-is: Main.hs
default-language: Haskell2010
build-depends: base >= 4.7 && < 5,
conduit
stack build -v
给我这个错误:
2018-02-08 13:28:06.923836: [warn] 7 | import qualified Data.Conduit.Binary as CB
我不确定要在 cabal 可执行指令中包含什么,每一个都会抛出错误:
build-depends: base >= 4.7 && < 5,
conduit,
conduit.list,
conduit.binary
build-depends: base >= 4.7 && < 5,
conduit,
conduit-list
conduit-binary
Data.Conduit.Binary
is a module. It is part of a package called conduit-extra
。包是 Stack(和 cabal-install,你是否使用它)安装的,以及你应该添加到 .cabal 文件的 build-depends
的内容:
build-depends: base >= 4.7 && < 5,
conduit,
conduit-extra
至于Data.Conduit.List
, it is part of the conduit
package, so you don't need another entry for it. One quick way of clarifying such things is doing a Hoogle search for the module(它所属的包会在文档页面的顶部栏中指出)。
另请参阅:What's the difference between module, package and library in Haskell?; Packages, modules and import in Haskell。