堆栈构建失败

Stack fails to build

我正在尝试在这里学习 haskell(不要问为什么),我从一个非常简单的代码开始,我什至从 github.

复制了它

所以代码是这样的:

module Example () where

import Network.HTTP

-- Non HTTPS

-- 1. Perform a basic HTTP get request and return the body
get :: String -> IO String
get url = simpleHTTP (getRequest url) >>= getResponseBody

-- 2. Get the response code
getCode :: String -> IO ResponseCode
getCode url = simpleHTTP req >>= getResponseCode
    where req = getRequest url

然而,当我 运行 stack build 我得到这个:

slack-client-0.1.0.0: build
Preprocessing library slack-client-0.1.0.0...
[2 of 2] Compiling Example          ( src\Example.hs, .stack-work\dist\b7fec021\
build\Example.o )

D:\haskell\slack-client\src\Example.hs:3:1: error:
    Failed to load interface for `Network.HTTP'
    It is a member of the hidden package `HTTP-4000.3.3'.
    Perhaps you need to add `HTTP' to the build-depends in your .cabal file.
    Use -v to see a list of the files searched for.

--  While building package slack-client-0.1.0.0 using:
      C:\Users\Mihai\AppData\Roaming\stack\setup-exe-cache\x86_64-windows\setup-
Simple-Cabal-1.24.0.0-ghc-8.0.1.exe --builddir=.stack-work\dist\b7fec021 build l
ib:slack-client exe:slack-client-exe --ghc-options " -ddump-hi -ddump-to-file"
    Process exited with code: ExitFailure 1

这是我的 .cabal 文件:

name:                slack-client
version:             0.1.0.0
synopsis:            Initial project template from stack
description:         Please see README.md
homepage:            https://github.com/githubuser/slack-client#readme
license:             BSD3
license-file:        LICENSE
author:              Author name here
maintainer:          example@example.com
copyright:           2016 Author name here
category:            Web
build-type:          Simple
-- extra-source-files:
cabal-version:       >=1.10

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

executable slack-client-exe
  hs-source-dirs:      app
  main-is:             Main.hs
  other-modules:       Example
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  build-depends:       base
                     , HTTP
                     , HTTP-Simple
                     , slack-client
  default-language:    Haskell2010

test-suite slack-client-test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Spec.hs
  build-depends:       base
                     , HTTP-Simple
                     , slack-client
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  default-language:    Haskell2010

source-repository head
  type:     git
  location: https://github.com/githubuser/slack-client

我做错了什么?

如果您希望您的“示例模块”成为可执行文件的一部分,请添加到此部分

executable slack-client-exe
  hs-source-dirs:      app
  main-is:             Main.hs

这一行:other-modules: Example.

如果您希望它成为库的一部分,请更改

library
  hs-source-dirs:      src
  exposed-modules:     Lib

library
  hs-source-dirs:      src
  exposed-modules:     Lib, Example

然后看看 cabal documentation