Swift Package Manager: "multiple targets named..."



我正在尝试构建一个服务器端的 Swift Web 应用程序。 我的应用程序的基础框架将是IBM的Kitura。 此外,我还想利用 aws-sdk-swift 框架来调用 AWS。 但是,当我在Package.swift文件中将两个库声明为依赖项时,出现错误,指出:

"基图拉网"/Volumes/Untitled/SwiftDev/MyApp/.build/checkouts/Kitura-net.git--7410958935072501107: 错误:名为"CHTTPParser"的多个目标

如果我注释掉aws-sdk-swift依赖项,一切正常。 如果我取消注释它并注释掉Kitura依赖项,则一切正常。 但显然,它们在CHTTPParser上存在冲突。 我的问题是,我该如何解决它? 我以前从未见过这个错误,快速的谷歌搜索一无所获。 有什么想法吗?

您看到错误是因为Kitura和aws-sdk-swift都有一个名为CHTTPParser的不同依赖项。Kitura 需要 https://github.com/IBM-Swift/CHTTPParser,但 aws-sdk-swift 间接需要 https://github.com/ZewoGraveyard/CHTTPParser,依赖于 aws-sdk-swift-core,然后是 Prorsum。Swift Package Manager 目前无法处理依赖命名 collisons。

看起来 aws-sdk-swift 依赖项已被弃用(它在 Zewo 的"墓地"中(,但此问题存在于其子依赖项中,看起来作者打算远离 Prorsum,这直接需要弃用的依赖项。

不幸的是,您遇到了这个问题,但由于 SPM 目前无法解决这个问题,您要么必须找到 aws-sdk-swift 的替代方案,等待它被更改为不使用过时的依赖项,要么尝试分叉存储库并自己进行更改!

相关内容

  • 没有找到相关文章

最新更新