已配置依赖仍提示“No such module 'SQLite'”的问题求助
解决Xcode无法识别Swift Package依赖及"No such module 'SQLite'"问题
核心问题定位
你的Package.swift中Target依赖的写法存在错误,这导致Xcode无法正确解析SQLite.swift包,进而出现Packages菜单置灰、编译时找不到模块的问题。
1. 修正Package.swift的依赖引用
在Target的dependencies数组中,你重复使用了.package()声明,这是错误的写法。正确的方式是引用已在顶层dependencies中声明的包所提供的Product。
修改后的完整Package.swift代码:
// swift-tools-version: 5.7 import PackageDescription let package = Package( name: "AsyncMux", platforms: [.iOS(.v15), .macOS(.v12)], products: [ .library( name: "AsyncMux", targets: ["AsyncMux"]), ], dependencies: [ .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.14.1") ], targets: [ .target( name: "AsyncMux", dependencies: [ // 改为引用包的Product,SQLite.swift的Product名称为"SQLite" .product(name: "SQLite", package: "SQLite.swift") ], path: "Sources" ), ] )
2. 强制Xcode重新加载依赖
由于之前Xcode已处于无法识别包的状态,需要彻底重置依赖状态:
- 关闭Xcode
- 删除项目根目录下的
.build文件夹和Package.resolved文件 - 重新打开项目,Xcode会自动重新解析并下载依赖
- 如果仍未恢复,在终端进入项目目录执行命令:
swift package resolve,再重启Xcode
3. 验证修复效果
重新打开项目后,检查Xcode左侧导航栏的Packages分组是否出现SQLite.swift,随后尝试构建项目,确认"No such module 'SQLite'"错误消失。
内容的提问来源于stack exchange,提问作者Sassenach6868
相关产品推荐
相关产品推荐

