【发布时间】:2022-06-23 19:30:23
【问题描述】:
问题
我对 Swift 比较陌生,正在尝试编写一个依赖于 PromiseKit 和 Starscream 的库。这是我第一次尝试使用 SwiftPM 而不是第三方 PM。
如果我使用这种安装模式...
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
.package(url: "https://github.com/daltoniam/Starscream.git", from : "4.0.0"),
.package(url: "https://github.com/mxcl/PromiseKit", from: "6.8.0")
]
...我被扔了The operation couldn’t be completed. (SwiftPM.SPMRepositoryError error 5.)
如果我将其切换到 ssh url 模式,我可以获得顶级包。但是,PromiseKit 的子模块失败了,因为它们包含在 PromiseKit 中,https://..。
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
.package(url: "git@github.com:daltoniam/Starscream.git", from : "4.0.0"),
.package(url: "git@github.com:mxcl/PromiseKit", from: "6.8.0")
]
环境
-
我的 XCode GitHub 帐户设置为使用 ssh 进行克隆。
-
我的本地和全局
.gitconfigs具有以下 insteadOf 表达式:
[url "git@github.com:"]
insteadOf = https://github.com/
问题
似乎 Xcode 只是忽略了这一点。我能做些什么?到目前为止,使用访问令牌也让我失败了。
【问题讨论】:
-
我不熟悉
insteadOfgit 配置,但是您尝试使用 ssh 而不是普通的 https 访问它是否有特定原因? -
@Alexander 嗨,再次哈哈! Xcode 似乎在摸索我的 GitHub 访问令牌。我不能让它工作,甚至不能产生一个不稳定的错误。至少有了这个,我可以知道它做错了什么。注意:我可以
swift build,一切都很好。但是,我在 xcode 中没有得到任何漂亮的 linting、突出显示或建议。 -
我不太明白。这些是可公开访问的软件包; GitHub 访问令牌与此有什么关系?
-
@Alexander 我在同一条船上。我真的不明白为什么 xcode 在获取包时尝试进行身份验证,但似乎是。
-
@Alexander 我也试过删除
insteadOf。但是,这也无济于事。