Package.resolved 文件已损坏或格式错误
Package.resolved file is corrupted or malformed
我有一个构建错误,指出我的所有 SPM 包都丢失了。我决定删除每个包并将其重新添加到项目中,但每次尝试添加包时都会出现以下错误:
Package.resolved file is corrupted or malformed; fix or delete the file to continue
我试过删除 Package.resolved
文件并让它重新生成(但没有),但我收到相同的错误消息。关于如何解决这个问题有什么想法吗?
我在 forums.swift.org 上找到了这个答案,它对我有用:
- 杀死xcode
- 然后完全删除派生数据目录(清空垃圾箱以确保万无一失)。
- 重启Xcode
- 重置Swift包缓存
这个问题也可能是由于项目是从 .xcworkspace 而不是 .xcodeproj 文件打开的。
我们从 CocoaPods 过渡到 SPM,旧的 .xcworkspace 搞砸了。
合并更新后确实遇到了同样的问题。对我来说帮助删除 Package.resolved
文件。
我尝试了上面 Maxwell 建议的解决方案,但没有解决我的问题。
错误出现在 Xcode 12 但升级到 Xcode 13 也没有解决它。
相反,我决定相信 Xcode 并删除 Package.resolved 文件。但它在哪里?我这样做了:
在访达中,点击 Shift+Cmd+。显示隐藏的文件和文件夹。
Package.resolved 文件位于 [appName].xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
的 .xcodeproj 目录中
右键单击 .xcodeproj 和 project.xcworkspace 以显示包内容。
将Package.resolved文件移动到垃圾箱,然后清空垃圾箱。
重新打开 Xcode 并再次打开您的项目。这给了我另一个错误:
无法访问位于“/”的包(无法读取“4.5.0”:
在 Xcode 中,文件/包/重置包缓存。
Swift 包管理器开始处理此问题。
重建项目。错误消失了,我的项目重建成功。
祝你好运!
我加入上面的内容,想补充(或者说简化)这个程序一点,你可以不关闭xcode并做同样的事情,而Package.resolved文件会自动添加到 swiftpm 文件夹,然后你只需更新 pods.
在一个项目中同时使用cocoapods和SwiftPackageManager时有两个Package.resolved 个文件。一个在 YourProj.xcworkspace 中,另一个在 YourProj.xcproj -> project.xcworkspace 中。我不得不将两者都删除,然后它又起作用了。
只是为了添加另一个有效的场景,我在 CI 上遇到了同样的错误,但更详细一点:
Package.resolved file is corrupted or malformed; fix or delete the
file to continue: unsupported schema version 2
这意味着 CI 的 Xcode 版本不支持该架构格式。升级它以匹配我们的开发环境解决了这个问题。
我有一个构建错误,指出我的所有 SPM 包都丢失了。我决定删除每个包并将其重新添加到项目中,但每次尝试添加包时都会出现以下错误:
Package.resolved file is corrupted or malformed; fix or delete the file to continue
我试过删除 Package.resolved
文件并让它重新生成(但没有),但我收到相同的错误消息。关于如何解决这个问题有什么想法吗?
我在 forums.swift.org 上找到了这个答案,它对我有用:
- 杀死xcode
- 然后完全删除派生数据目录(清空垃圾箱以确保万无一失)。
- 重启Xcode
- 重置Swift包缓存
这个问题也可能是由于项目是从 .xcworkspace 而不是 .xcodeproj 文件打开的。 我们从 CocoaPods 过渡到 SPM,旧的 .xcworkspace 搞砸了。
合并更新后确实遇到了同样的问题。对我来说帮助删除 Package.resolved
文件。
我尝试了上面 Maxwell 建议的解决方案,但没有解决我的问题。
错误出现在 Xcode 12 但升级到 Xcode 13 也没有解决它。
相反,我决定相信 Xcode 并删除 Package.resolved 文件。但它在哪里?我这样做了:
在访达中,点击 Shift+Cmd+。显示隐藏的文件和文件夹。
Package.resolved 文件位于 [appName].xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
的 .xcodeproj 目录中右键单击 .xcodeproj 和 project.xcworkspace 以显示包内容。
将Package.resolved文件移动到垃圾箱,然后清空垃圾箱。
重新打开 Xcode 并再次打开您的项目。这给了我另一个错误: 无法访问位于“/”的包(无法读取“4.5.0”:
在 Xcode 中,文件/包/重置包缓存。 Swift 包管理器开始处理此问题。
重建项目。错误消失了,我的项目重建成功。
祝你好运!
我加入上面的内容,想补充(或者说简化)这个程序一点,你可以不关闭xcode并做同样的事情,而Package.resolved文件会自动添加到 swiftpm 文件夹,然后你只需更新 pods.
在一个项目中同时使用cocoapods和SwiftPackageManager时有两个Package.resolved 个文件。一个在 YourProj.xcworkspace 中,另一个在 YourProj.xcproj -> project.xcworkspace 中。我不得不将两者都删除,然后它又起作用了。
只是为了添加另一个有效的场景,我在 CI 上遇到了同样的错误,但更详细一点:
Package.resolved file is corrupted or malformed; fix or delete the file to continue: unsupported schema version 2
这意味着 CI 的 Xcode 版本不支持该架构格式。升级它以匹配我们的开发环境解决了这个问题。