Haskell-Stack error: "The same package name is used in multiple local packages"

Haskell-Stack error: "The same package name is used in multiple local packages"

我的机器上有两个不同的 Haskell 项目,每个项目都使用 WordNet 包。安装时 WordNet from Hackage the build failed, however the package did build successfully when cloned and installed locally from github.

在我的两个项目中,我都指向 stack.yaml 文件中的本地安装,如 stack's documentation 的 "packages and extra-deps" 部分所述。第一个项目构建成功。但是,当我尝试使用此本地依赖项构建第二个项目时,出现以下错误。

$ stack build
The same package name is used in multiple local packages

WordNet used in:
- PLIndex "WordNet-1.1.0"
- PLOther (PLFilePath "../WordNet-ghc74")

为什么我不能在两个不同的项目中依赖同一个本地包?

有什么办法解决这个问题吗?


我已经尝试在本地克隆包并在 stack.yaml

中指向那里
packages:
- .
- ../WordNet-ghc74

并且还在我的 stack.yaml.

中直接指向 github 上的存储库
packages:
- .
- location:
    git: http://github.com/mherzl/WordNet-ghc74.git
    commit: 35478c4ee8ce3fcb7b134901255818408fb934a1
  extra-dep: true

您可以在多个项目中使用同一个本地包。这看起来你的 packages / extra-deps 中同时列出了 WordNet-1.1.0 和本地文件路径。如果不是这种情况,那么请在堆栈问题跟踪器上打开一个问题并重现问题。另外,请确保您使用的是最新稳定版本的堆栈 (1.6.3)