swift - Apple swift-format 为 Swift 5.3 工具链更新 SwiftSyntax
问题描述
当针对 Xcode 12 Beta 2 附带的 Swift 5.3 工具链执行时,从swift-format的主分支构建失败。
根据文档和执行时的错误消息,该问题几乎肯定与 SwiftSyntax 版本在 swift-format 和 Swift 5.3 工具链之间不匹配有关。我尝试更新 swift-formatPackage.swift
文件以swift-format
针对 SwiftSyntaxrelease/5.3
分支进行构建,但仍然出现此错误:
加载的“_InternalSwiftSyntaxParser”库来自与此版本的 SwiftSyntax 不兼容的工具链
问题是需要更改哪些内容swift-format
Package.swift
才能使针对 Swift 5.3 工具链的执行工作正常?
答案可能与知道哪个 SwiftSyntax 提交与 Xcode 12 Beta 2 附带的 Swift 5.3 工具链一起打包一样“简单”。答案也可能是我太流血了,不利于我自己。
Tony Allevato - 我认为你是这方面的老板。
解决方案
我能够像这样构建 Xcode 12 兼容版本:
- 此版本的 swift-format 兼容 Swift 5.3(下载到您的计算机)
- 在
Package.swift
SwiftSyntax 中必须固定到 Swift 5.3 标签
.package(url: "https://github.com/apple/swift-syntax", .revision("swift-5.3-RELEASE")),
- 快速构建 -c 发布
二进制文件将在.build/release
文件夹中。虽然有一些弃用警告,但它工作得很好。
推荐阅读
- hyperledger-fabric - Hyperledger Fabric 前端创建
- javascript - VueJS 小胡子数据绑定不起作用。我该如何调试呢?
- java - 为什么这个方法返回一个 lambda 取决于接口方法的返回类型?
- algorithm - 如何证明最短公共超弦是 NP-Hard
- angular - 解析器错误:表达式末尾出现意外的标记、预期的标识符或关键字
- python-3.x - 收到此错误 SyntaxError: invalid syntax
- unity3d - Unity 3D 到许多游戏对象
- java - Time2Test(使用用户输入)
- recursion - 了解 Peter Norvig 在 PAIP 中的置换解决方案
- openssl - 如何保存 https 证书并将其放在 openssl 上的 pem 文件中?