解析索引缓存失败(Data.Binary.Get.runGet 在位置 16:)
Parsing the index cache failed (Data.Binary.Get.runGet at position 16:)
我正在尝试为我正在处理的项目编写安装脚本,我不得不通过从以下 link 再次安装 ghc(没有下载 vms 的资源)来测试它:curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
。一切正常,但是当我 运行 使用 cabal run proj
的项目时,我收到以下警告,其中 A、B 代表 32 个字符串:
Warning: Parsing the index cache failed (Data.Binary.Get.runGet at position
16: Non-matching structured hashes: A;
expected: B). Trying to regenerate the index
cache...
我转到我的主目录并删除了 .ghcup
和空的 .ghc
目录。然后我去了 usr/local/bin
发现了以下内容:
/usr/local/bin > ls | grep ghc
ghc
ghc-8.8.3
ghc-pkg
ghc-pkg-8.8.3
ghci
ghci-8.8.3
haddock-ghc-8.8.3
runghc
runghc-8.8.3
在我的 Brew 文件夹中,我有另一个 ghc-8.8.3 实例。我真的不确定我是否只是无意中搞砸了安装。是否会建议重新安装,或者是否会删除所有出现的 .ghc 文件,只保留一个就可以了?
Cabal 商店似乎在某种程度上变得不一致(参见 cabal issue #6659 的初始讨论)。假设您使用的是 GHC 8.8.3,删除 ~/.cabal/store/ghc-8.8.3
应该可以正确地重新创建它。
顺便说一句,如果您打算通过 ghcup 管理 GHC、cabal-install 和其他工具的安装,您不妨删除系统范围内的 Brew 安装,这可能是不必要的。
我正在尝试为我正在处理的项目编写安装脚本,我不得不通过从以下 link 再次安装 ghc(没有下载 vms 的资源)来测试它:curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
。一切正常,但是当我 运行 使用 cabal run proj
的项目时,我收到以下警告,其中 A、B 代表 32 个字符串:
Warning: Parsing the index cache failed (Data.Binary.Get.runGet at position
16: Non-matching structured hashes: A;
expected: B). Trying to regenerate the index
cache...
我转到我的主目录并删除了 .ghcup
和空的 .ghc
目录。然后我去了 usr/local/bin
发现了以下内容:
/usr/local/bin > ls | grep ghc
ghc
ghc-8.8.3
ghc-pkg
ghc-pkg-8.8.3
ghci
ghci-8.8.3
haddock-ghc-8.8.3
runghc
runghc-8.8.3
在我的 Brew 文件夹中,我有另一个 ghc-8.8.3 实例。我真的不确定我是否只是无意中搞砸了安装。是否会建议重新安装,或者是否会删除所有出现的 .ghc 文件,只保留一个就可以了?
Cabal 商店似乎在某种程度上变得不一致(参见 cabal issue #6659 的初始讨论)。假设您使用的是 GHC 8.8.3,删除 ~/.cabal/store/ghc-8.8.3
应该可以正确地重新创建它。
顺便说一句,如果您打算通过 ghcup 管理 GHC、cabal-install 和其他工具的安装,您不妨删除系统范围内的 Brew 安装,这可能是不必要的。