我目前正在尝试在Perfect Server Side Swift项目中使用Swift Package Manager,但是当我运行
我认为问题的起源是我正在尝试创建一个自定义包以导入到我的项目中。我尝试以一种可以将其导入到其他项目中的方式构建包。问题是,我的包本身依赖于完美依赖项之一。如果我从整个项目包中删除我的自定义包,则依赖项会成功下载。因此,我只能假设是我的包出了问题。
我的包的依赖关系如下:
正如您所看到的,它们都导入了Perfect-HTTP包(Perfect-HTTP-Server通过
当它挂起时,它一直在获取
我对SPM相当陌生,这是我第一次尝试创建自己的软件包。 我该如何解决我只能假设是某种循环依赖问题?
Swift package update
时,它永远无法解决。使用详细标志,它似乎一遍又一遍地循环相同的依赖项。我认为问题的起源是我正在尝试创建一个自定义包以导入到我的项目中。我尝试以一种可以将其导入到其他项目中的方式构建包。问题是,我的包本身依赖于完美依赖项之一。如果我从整个项目包中删除我的自定义包,则依赖项会成功下载。因此,我只能假设是我的包出了问题。
我的包的依赖关系如下:
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-COpenSSL
和Perfect-Thread
而不是Perfect-HTTP我对SPM相当陌生,这是我第一次尝试创建自己的软件包。 我该如何解决我只能假设是某种循环依赖问题?