如何从Stack的extra-deps中导入cardano-cli的Cardano.CLI.Run模块?
解决Cardano.CLI.Run模块找不到的问题
针对你遇到的模块查找失败错误,按以下步骤排查修复:
确认模块暴露状态
查看对应commit(7612a24)的cardano-cli.cabal文件可知,Cardano.CLI.Run属于cardano-cli的内部模块,并未在exposed-modules中声明,因此外部项目无法直接导入。如果必须使用runClientCommand,建议改用cardano-cli提供的公共暴露API;若特殊场景下一定要用该模块,可考虑fork仓库修改cabal文件暴露它(不推荐,会增加后续维护成本)。对齐GHC与Resolver版本
cardano-node 1.35.2官方适配GHC 9.0.2,对应Stack resolver为lts-19.33。你当前使用的GHC 9.2.3版本不兼容,会导致依赖构建异常、模块查找失败。修改stack.yaml中的resolver字段:resolver: lts-19.33在项目cabal文件中声明依赖
确保你的项目.cabal文件的build-depends部分明确添加cardano-cli依赖,示例如下:build-depends: base >= 4.14 && < 5 , cardano-cli >= 1.35.2 -- 其他项目依赖...清理缓存重新构建
执行以下命令清除旧缓存并强制重新构建:stack clean stack build --force-dirty
内容的提问来源于stack exchange,提问作者Attilah
相关产品推荐
相关产品推荐

