gpt4 book ai didi

swift - 使用 fork 的 swift 包作为 Vapor 项目的依赖项

转载 作者:搜寻专家 更新时间:2023-11-01 05:32:23 28 4
gpt4 key购买 nike

我为 Firebase 实时数据库连接创建了一个服务器端 swift 包:ferno我正在尝试将它用作我的 Package.swift 中的依赖项,如下所示:

.package(url: "git@github.com:3sidedcube/ferno.git", .branch("jwt3")),

然而,当运行 vapor xcode 时,我得到如下错误:

Error: Could not generate Xcode project: Completed resolution in 8.33s
error: terminated(128): git -C /Users/simonmitchell/Coding/Device-Monitor/.build/checkouts/ferno.git--4002215034454709000 checkout -f 155fa23f2f2d985dbee20072e560b095f61d7b63 output:

我已经检查了 swift 包的文档,这应该都是正确的,那么为什么它不起作用?这是快速包管理器的限制吗?还是 Vapor?

最佳答案

有时需要清除或重置包构建以使事情回到正轨。可以使用以下其中一项重置构建:

Vapor

vapor clean
vapor update
# Updating [Done]
# Changes to dependencies usually require Xcode to be regenerated.
# Would you like to regenerate your xcode project now?
y/n> y
# Generating Xcode Project [Done]
# Select the `Run` scheme to run.
# Open Xcode project?
y/n> y
# Opening Xcode project...

swift 包管理器

swift package reset # Reset the complete cache/build directory
swift package update
# Fetching https://github.com/vapor/vapor.git
# Fetching https://github.com/vapor/fluent-sqlite.git
# Fetching git@github.com-MY-SSH-HOST:3sidedcube/ferno.git
# ...

swift package generate-xcodeproj
# generated: ./Hello.xcodeproj
open Hello.xcodeproj/

手动构建删除

rm -Rf .build
rm -Rf Hello.xcodeproj

此外,根据我的经验,Swift Package Manager .package(url: "git@github.com ...) 协议(protocol)需要一个 SSH key 对设置,以便与远程服务一起使用 公共(public)和私有(private)存储库。 然而,.package(url: "https://github.com…) 协议(protocol)不需要此设置,因为 https 提供一个安全的传输层。

ssh key 对

如果尚未完成,create and setup a public/private ssh key pair for GitHub. ⇗

~/.ssh/config

### GITHUB-MY-SSH-HOST
### ADD REPOSITORY: git@github.com-MY-SSH-HOST:_USER_NAME_/_REPOSITORY_NAME_.git
Host github.com-MY-SSH-HOST
HostName github.com
User git
IdentityFile ~/.ssh/github_privatelocal_rsa
UseKeychain yes
AddKeysToAgent yes
PreferredAuthentications publickey

注意:较新的 macOS 系统需要 UseKeychainAddKeysToAgent 才能与 Keychain.app 一起使用

Package.swift

在打包git命令中明确声明定义的MY-SSH-HOST

.package(url: "git@github.com:3sidedcube-MY-SSH-HOST/ferno.git", .branch("jwt3"))
],
targets: [
.target(name: "App", dependencies: ["FluentSQLite", "Vapor", "Ferno"]),
// …

关于swift - 使用 fork 的 swift 包作为 Vapor 项目的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54789587/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com