Haskell程序包(我们称其为程序包A)由于更新了依赖性而已停止为我编译,并且出现有关未定义变量的错误。我可以访问旧的依赖环境,仍然可以使用完全相同的代码does进行编译,因此我可以在GHCi中打开模块,并使用:info
跟踪其最初来自何处,从而导致我打包< [B。
A
中已损坏的模块没有直接从B导入定义此丢失标识符的模块;它一定是通过另一个将其重新导出的导入获取的。但是A和B在这两种环境之间都没有改变。因此,这意味着某些third包C中的模块必须先前已经导入并重新导出了<< B >>中的标识符,然后才能(可能通过进一步的重新导出)将其导入( A中损坏的模块,并且C在两个环境之间已更改,不再重新导出标识符。我是否可以通过某种方式向工作环境中的GHC或Cabal索要完整的进口链,从而导致标识符在范围内,以便我可以识别包裹C?否则,我不知道如何在不手动检查A
的所有(传递性)依赖项的情况下缩小问题的原因,而这些依赖关系可能会从B导入某些内容。Haskell程序包(我们称其为程序包A)由于更新了依赖性而停止了对我的编译,并且出现有关未定义变量的错误。我可以使用旧的依赖环境...