Haskell 无法向堆栈项目添加额外的DEP

Haskell 无法向堆栈项目添加额外的DEP,haskell,haskell-stack,Haskell,Haskell Stack,我正试图用Stack建立一个Haskell项目。我已经创建了一个项目:stack new project1,并添加了建议的依赖项(acme飞弹),只是为了看看它是如何工作的 extra-deps: - acme-missiles-0.3 但是当我尝试在主界面中调用launch飞弹时,它将不起作用。我明白了 Error:(3, 1) Could not find module ‘Acme.Missiles’ Use -v to see a list of the files se

我正试图用Stack建立一个Haskell项目。我已经创建了一个项目:
stack new project1
,并添加了建议的依赖项(acme飞弹),只是为了看看它是如何工作的

extra-deps:
- acme-missiles-0.3
但是当我尝试在主界面中调用
launch飞弹
时,它将不起作用。我明白了

Error:(3, 1)     Could not find module ‘Acme.Missiles’
    Use -v to see a list of the files searched for.
  |
3 | import Acme.Missiles
  | ^^^^^^^^^^^^^^^^^^^^
有什么问题?我错过了什么

编辑

当我运行
stack solver
时,我得到以下结果:

Using configuration file: stack.yaml
Using cabal packages:
- ./


The following changes will be made to stack.yaml:
* Dependencies to be deleted
    extra-deps:
    - acme-missiles-0.3

To automatically update stack.yaml, rerun with '--update-config'

这不是很奇怪吗?好像它认为不需要我的依赖关系?

您需要将依赖关系添加到
project1.cabal

build-depends:
    base >=4.7 && <5
  , project1
  , acme-missiles

我不能说我对它的工作原理有很深的了解,但是如果我理解正确的话,应该在
.cabal
package.yaml
文件中添加依赖项的主文件。
stack.yaml
中的
extra deps
字段可用于指示是否存在与当前使用的LTS不同的依赖项。

运行
stack build
时是否编译代码?@MarkSeemann nope。我在运行stack buildNo errors之前收到了包含的错误消息?@MarkSeemann noThank you,这解决了我的问题。如果使用较新的堆栈,则不应手动修改
.cabal
文件,堆栈将生成该文件,但有必要将其添加到依赖项:)
dependencies:
- base >= 4.7 && < 5
- acme-missiles