首页 > 解决方案 > 尝试通过堆栈安装 hlint 得到“相同的包名”错误

问题描述

我正在尝试通过 haskell 中的堆栈安装 hlint stack install hlint,但它告诉我计划失败了,我应该在stack.yaml.

在我这样做之后(并allow-newer: true在 config.yaml 中设置),它返回给我以下内容:

    The same package name is used in multiple local packages

time used in:
- PLImmutable (PLIHackage (PackageIdentifier {pkgName = PackageName "time", pkgVersion = mkVersion [1,10]}) 536801b30aa2ce66da07cb19847827662650907efb2af4c8bef0a6276445075f,5738 (TreeKey 1591d9d1034f19cd38fbda525969f805b5ca083b45da85602cf2b04c1a82f640,6693))
- PLImmutable (PLIHackage (PackageIdentifier {pkgName = PackageName "time", pkgVersion = mkVersion [1,11,1,2]}) a957467595420495c2dd440d9efa1f58c62277cf9438c7e7a515d7a4c65571ec,6287 (TreeKey b7025dd19573d4c082d072eaba093a3fc1f891f3fde09b59561bcdca3566a0a4,7048))

我不知道如何使它正确,因为 cmd 没有给我任何新的指令。帮助?

标签: haskellhaskell-stack

解决方案


stack.yaml使用全局/安装东西config.yaml可能会很棘手。通常最好克隆包 repo 并使用它自己的配置文件构建它,这些文件指定包的首选堆栈解析器等。试试这个:

git clone git@github.com:ndmitchell/hlint.git
# Or: git clone https://github.com/ndmitchell/hlint.git

cd hlint
git checkout v3.3.1 # Latest available release
stack install

推荐阅读