我想弄清楚SWIFT Package Manager生成的Package.resolved
文件末尾的"version": 1
或"version": 2
代表什么.我有两个工作区,有时Package.resolved
个文件都有版本1或2,有时有不同的版本.
拥有不同的版本会产生什么样的影响,是什么导致了版本的变化?这两个版本有可能是相同的吗?
我想弄清楚SWIFT Package Manager生成的Package.resolved
文件末尾的"version": 1
或"version": 2
代表什么.我有两个工作区,有时Package.resolved
个文件都有版本1或2,有时有不同的版本.
拥有不同的版本会产生什么样的影响,是什么导致了版本的变化?这两个版本有可能是相同的吗?
我做了一些研究,似乎苹果用5.6版的SWIFT工具改变了Package.resolved
个文件的格式.工具链的任何版本都可以与版本1配合使用,但您需要&>;=5.6才能与版本2配合使用.请参阅此论坛对话
https://forums.swift.org/t/using-swiftpm-5-6-and-supporting-older-versions/55708/9个
正如我在 comments 中所说,最好忽略该文件中的内容,不要将其提交给您的源代码控制.上面论坛帖子中的一条 comments 提到,您可能想要提交它以确保构建的可重复性,但这是一个脆弱的解决方案,如果您想要使用准确的版本进行构建,您应该在Package.swift
文件中这样做.
您将得到混合的版本,因为如果解析一个包意味着没有任何更改,则SPM不会覆盖旧的Package.resolved
.