swift-package-manager - Swift 包管理器无法解析

标签 swift-package-manager

我目前正在尝试在完美的服务器端 Swift 项目上使用 Swift 包管理器,但是当我运行时 Swift package update它永远不会解决。使用详细标志,它似乎会一遍又一遍地循环遍历相同的依赖项。

我认为问题开始的地方是我正在尝试创建一个自定义包以导入到我的项目中。我正在尝试以一种可以将其导入其他项目的方式构建包。问题是我的包本身依赖于 Perfect Dependencies 之一。如果我从整个项目包中删除我的自定义包,则依赖项下载成功。所以我只能假设是我的包裹有问题。

我的包的依赖项如下所示

let package = Package(
    name: "TestPackage",
    products: [
        // Products define the executables and libraries produced by a package, and make them visible to other packages.
        .library(
            name: "TestPackage",
            targets: ["TestPackage"]),
    ],
    dependencies: [
        // Dependencies declare other packages that this package depends on.
        // .package(url: /* package url */, from: "1.0.0"),
    .Package(url: "https://github.com/PerfectlySoft/Perfect-HTTP.git", majorVersion: 3),
    ],
    targets: [
        // Targets are the basic building blocks of a package. A target can define a module or a test suite.
        // Targets can depend on other targets in this package, and on products in packages which this package depends on.
        .target(
            name: "TestPackage",
            dependencies: ["PerfectHTTP"]),
        .testTarget(
            name: "TestPackageTests",
            dependencies: ["TestPackage"]),
    ]
)

然后我的主项目的 package.swift 文件看起来像这样
let package = Package(
    name: "json_api",
    targets: [],
    dependencies: [
        .Package(url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git", majorVersion: 3),
        .Package(url:"/local/path/to/TestPackage", majorVersion:0, minor:1),
    ]
)

正如你所看到的,它们都导入了 Perfect-HTTP 包(Perfect-HTTP-Server 通过
.package(url: "https://github.com/PerfectlySoft/Perfect-HTTP.git", from: "3.0.0"),)

当它挂起时,它不断收到 Perfect-COpenSSLPerfect-Thread虽然而不是 Perfect-HTTP

我对 SPM 很陌生,这是我第一次尝试创建自己的包。我应该如何尝试解决我只能假设是某种循环依赖问题?

最佳答案

所以我设法解决了这个问题,并认为它可能对其他人有用。

我已经在 git 中将我的版本标签设置为“v0.1”,而我需要给它完整的语义版本控制,例如 0.1.0 作为标签并且成功地工作

关于swift-package-manager - Swift 包管理器无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47431510/

相关文章:

ios - Swift Package Manager 无法解析所有库、项目

swift - 从 Package.swift 运行 shell 脚本

swift - 你可以在 iOS 应用程序中使用 Package.swift 而不是使用 .xcodeproj 吗?

未包含 SwiftPM 库

swift - 如何将 CoreML 模型添加到 Swift 包中?

swift - Xcode 13.1 错误将依赖项编辑为本地

ios - Swift 包管理器与未版本化包有关的问题(例如 : firebase-ios-sdk)

swift - 与 iOS 相比,我如何有条件地依赖桌面系统库?

ios - 使用 CocoaPods 和 Swift Package Manager 设置库

swift - 当依赖项名称等于项目名称时,运行 'swift build' 会因段错误而崩溃