haskell - 使用cabal时如何配置haskell cradle?
问题描述
我已阅读 cradle 的官方文档。但是当我按照文档中的说明进行操作时,出现了错误。
Failed to parse result of calling cabal
cabal: Internal error in target matching. It should always be possible to find
a syntax that's sufficiently qualified to give an unambiguous match. However
when matching 'lib:hie-bios' we found lib:hie-bios (unknown-component) which
does not have an unambiguous syntax. The possible syntax and the targets they
match are as follows:
'lib:hie-bios' which matches lib:hie-bios (unknown-component),
:pkg:lib:lib:lib:file:hie-bios (unknown-file)
解决方案
(2021 年 11 月 12 日更新):现在上游修复了很多东西,所有这些都有望在不需要的情况下“正常工作”。
就在昨天(2021-11-11),我与 HLS 人员进行了交谈,并向 HLS 文档提供了有关情况的文档更新。
检查 - 如果您在 repo 中有hie.yaml
残余hie.yml
物,请备份 * 删除它们并检查干净运行。
如果干净运行不成功:
使用implicit-hie的gen-hie
。
过度简化:implicit-gie
- 是 HLS 和研究员在内部用于检测配置的项目。因此,如果隐式配置检测不起作用 - 直接运行生成器可以克服中间人 lsp 链生成问题。在大多数情况下,这本身就有帮助。明确地进行配置 - 使检查正在发生的事情变得切实可行(配置在很大程度上是不言自明的)并与文档进行比较。
大多数案例都被生成器覆盖,甚至是复杂的非传统单一回购案例。Nix 结果当然可能会有所不同(因为 Nix 允许无数种方法来做事)。在任何情况下 - 该工具都有助于处理底座的语法和配置。
请注意,该工具当前通过查看存在的构建目录来确定底座 ( dist-newstyle
, .stack-work
)
推荐阅读
- c# - 如何在 .NET C# 中以一种方式获取 SOAP Web 服务的请求状态?
- git - git push origin 是否总是合并到 master 分支?
- python - Keras Accuracy 和 Loss 在很长一段时间内没有变化
- html - 使用 nginx 反向代理的 iframe
- python - 太多值无法解包(预期为 2) - Django SQL 异常
- python - 将 Django 视图转换为休息服务
- python-3.x - 在多列上合并多个 Pandas 数据框
- r - R中具有多个条件的累积和?
- ssl - Google 域 CNAME 记录
- angularjs - AngualrJs:我需要在我的控制器中使用 $scope 吗?