简体   繁体   English

如何为蒸汽添加新的依赖项?

[英]how to add a new dependency to vapor?

I want to add a new dependency to vapor, but this error comes out - unknown package 'Web3' in dependencies of target 'App';我想向蒸汽添加一个新的依赖项,但出现此错误 - 目标“App”的依赖项中的未知 package 'Web3'; valid packages are: 'vapor', 'fluent', 'fluent-postgres-driver', 'jwt', 'Web3.swift'有效的包是:'vapor'、'fluent'、'fluent-postgres-driver'、'jwt'、'Web3.swift'

// swift-tools-version:5.5
import PackageDescription

let package = Package(
    name: "w3-wallet-backend",
    platforms: [
        .macOS(.v10_15)
    ],
    dependencies: [
        // 💧 A server-side Swift web framework.
        .package(url: "https://github.com/vapor/vapor.git", from: "4.0.0"),
        .package(url: "https://github.com/vapor/fluent.git", from: "4.0.0"),
        .package(url: "https://github.com/vapor/fluent-postgres-driver.git", from: "2.0.0"),

        // 👤 Authentication and Authorization framework for Fluent.
        .package(url: "https://github.com/vapor/jwt.git", from: "4.0.0"),
        
        // 💰 blockhain Swift framework.
        .package(url: "https://github.com/Boilertalk/Web3.swift.git", from: "0.5.0"),
    ],
    targets: [
        .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"),
                .product(name: "Web3PromiseKit", package: "Web3"),
                .product(name: "Web3ContractABI", package: "Web3")
            ],
            swiftSettings: [
                // Enable better optimizations when building in Release configuration. Despite the use of
                // the `.unsafeFlags` construct required by SwiftPM, this flag is recommended for Release
                // builds. See <https://github.com/swift-server/guides/blob/main/docs/building.md#building-for-production> for details.
                .unsafeFlags(["-cross-module-optimization"], .when(configuration: .release))
            ]
        ),
        .executableTarget(name: "Run", dependencies: [.target(name: "App")]),
        .testTarget(name: "AppTests", dependencies: [
            .target(name: "App"),
            .product(name: "XCTVapor", package: "vapor"),
        ])
    ]
)

Package name is equal to its repository name, so in your case it should be Package 名称等于其存储库名称,因此在您的情况下应该是

.product(name: "Web3", package: "Web3.swift"),
.product(name: "Web3PromiseKit", package: "Web3.swift"),
.product(name: "Web3ContractABI", package: "Web3.swift")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM