无法向 Stack 项目添加 extra-deps

Cannot add extra-deps to Stack project

我正在尝试使用 Stack 建立一个 Haskell 项目。我创建了一个项目:stack new project1 并添加了建议的依赖项 (acme-missile) 只是为了看看它是如何工作的。

extra-deps:
- acme-missiles-0.3

但是当我尝试在 Main 中调用 launchMissile 时,它不起作用。我得到

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

或者,在较新版本的 Stack 上,您似乎应该改用 package.yaml

dependencies:
- base >= 4.7 && < 5
- acme-missiles

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