Haskell:同一模块被发现两次 - “模块名称不明确”

问题描述 投票:0回答:1

我在 haskell 文件中有以下导入。我正在使用 cabal。

import Network.Wai (Application, Response, rawPathInfo, responseFile, responseLBS, requestBody)

但是当我尝试构建文件时遇到此错误:

Error: Ambiguous module name ‘Network.Wai’:
  it was found in multiple packages: wai-3.2.2.1 wai-3.2.2.1

请注意,多个包完全相同。像 -XPackageImports 这样的东西在这里不起作用,因为由于某种原因同一个包被安装了两次。

我打开

/Users/<user>/.cabal/store/ghc-8.6.5/package.db
,果然,有两个版本相同但哈希值不同的“w”(wai)包。我删除了一个,这并没有解决它。

haskell cabal
1个回答
0
投票

在我的例子中,Data.IP 不明确,它显示了 2 个相同版本的 iproute。

我在https://cabal.readthedocs.io/en/3.4/nix-local-build.html中读到,您可以安全地删除存储文件夹。所以我运行了以下命令。

rm -rf ~/.cabal/store
cabal build

然后我的问题就消失了。这可能对其他遇到此问题的人有用。

© www.soinside.com 2019 - 2024. All rights reserved.