如何为Vapor添加新依赖?出现unknown package 'Web3'错误如何解决?
问题根因
你在Package.swift的dependencies节点引入的Web3仓库实际包名为Web3.swift,但在target的依赖配置中,引用产品时填的包名是Web3,二者不匹配导致Swift Package Manager无法识别到对应包,触发报错。
修复步骤
- 打开项目的
Package.swift文件 - 找到
Apptarget的dependencies配置段,将3个Web3相关依赖的package参数值从Web3替换为Web3.swift,修改后对应配置如下:
.target( name: "App", dependencies: [ .product(name: "Fluent", package: "fluent"), .product(name: "FluentPostgresDriver", package: "fluent-postgres-driver"), .product(name: "Vapor", package: "vapor"), .product(name: "JWT", package: "jwt"), .product(name: "Web3", package: "Web3.swift"), .product(name: "Web3PromiseKit", package: "Web3.swift"), .product(name: "Web3ContractABI", package: "Web3.swift") ], swiftSettings: [ .unsafeFlags(["-cross-module-optimization"], .when(configuration: .release)) ] )
- 保存文件后执行
swift package resolve重新加载依赖,即可解决报错。
内容的提问来源于stack exchange,提问作者Андрей Новиков
相关产品推荐
相关产品推荐

