Swift Package Manager 无法解析 1.4 以上的 Kitura 版本

Posted

技术标签:

【中文标题】Swift Package Manager 无法解析 1.4 以上的 Kitura 版本【英文标题】:Swift Package Manager Not able to resolve Kitura version above 1.4 【发布时间】:2017-05-30 09:42:46 【问题描述】:

我正在尝试在服务器上使用示例 Swift(使用 Kitura)应用程序并使用 swift 包管理器来解决依赖关系。

这是我的示例Package.swift 文件。

import PackageDescription

let package = Package(
    name: "Kitura_Swift_Server",
    dependencies: [
        .Package(url: "https://github.com/IBM-Swift/Kitura.git", majorVersion: 1, minor: 4)
    ])

我的问题是,如果我将 Kitura 框架的次要版本更改为 4 以上,我会收到错误 error: unsatisfiable。虽然 1.7.1 是最新的 Kitura 版本,但 swift build 并没有解决它。

有人知道它为什么会这样吗?

【问题讨论】:

【参考方案1】:

当您已经运行 swift build 并创建了 .build 目录时,我已经看到了这个问题,然后您更改了 Package.swift 中的某些内容。也就是说,使用 Kitura 1.7.x 作为我唯一的依赖项没有任何问题。

如果您希望更新依赖项,我建议您将 Kitura 版本更改为 1.7.x 并运行 swift package update(在 Swift 3.1.1 中)。

如果这不起作用,重新开始并删除.build 目录并运行swift build 并没有什么坏处。

【讨论】:

谢谢!我尝试删除构建文件夹,但没有帮助。当我运行“快速包更新”时,我的机器挂起。 我能够下载依赖项并使用您发布的 Package.swift 进行编译。你用的是什么版本的 Swift?另外,您是否尝试过删除 Package.pins 文件并构建(如果使用最新的 Swift 工具链)? 你有想过这个吗?我从 swift 4.2.1 开始遇到这个问题,并尝试删除 Package.resolved 和 .build

以上是关于Swift Package Manager 无法解析 1.4 以上的 Kitura 版本的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Swift Package Manager `swift build` 命令构建 Swift Package 的优化版本

如何解决 Swift Package Manager 目标重叠源错误

Swift Package Manager工程实践

SwiftUI 简明教程之 Swift Package Manager 的使用

使用 Swift Package Manager 将 Google Firebase Admob 添加到 iOS 项目 [关闭]

Swift Package Manager 在使用 Almofire 时使用未解析的标识符“AF”