无法使用 Vapor 将 swift 包推送到 Heroku

Posted

技术标签:

【中文标题】无法使用 Vapor 将 swift 包推送到 Heroku【英文标题】:Can't push swift package to Heroku using Vapor 【发布时间】:2020-07-13 17:25:28 【问题描述】:

我正在尝试使用 Vapor buildpack (https://github.com/vapor-community/heroku-buildpack/tree/master) 将 Swift 包推送到 Heroku,但我不断收到此错误:

error: terminated(1): /app/tmp/cache/heroku-18/swiftenv/versions/4.2/usr/bin/swift-build-tool -f /tmp/build_1041959f11306dce64ad9d4712e1d962/.build/debug.yaml main output:

我使用 Swift 5.2 编写包,但 Heroku 坚持使用 Swift 4.2。我已经确认 buildpack 与 Swift 5.2 兼容,并且我已将 .swift-version 文件以及我的 Package.swift 文件的第一行设置为 5.2。

这是 Package.swift 文件:

    // swift-tools-version:5.2
    // The swift-tools-version declares the minimum version of Swift required to build this package.

    import PackageDescription

    let package = Package(
name: "TurnipBot",
dependencies: [
    // Dependencies declare other packages that this package depends on.
    .package(url: "https://github.com/Azoy/Sword", .branch("master"))

],
targets: [
    // Targets are the basic building blocks of a package. A target can define a module or a test suite.
    // Targets can depend on other targets in this package, and on products in packages which this package depends on.
    .target(
        name: "TurnipBot",
        dependencies: ["Sword"]),
    .testTarget(
        name: "TurnipBotTests",
        dependencies: ["TurnipBot"]),
]
    )

【问题讨论】:

【参考方案1】:

您确定提交了.swift-version 文件吗?它拼写是否正确等?我在one of my apps 中使用过它,并且部署得很好

【讨论】:

原来它没有提交,所以解决了这个问题!不过还有一些错误需要解决...谢谢!

以上是关于无法使用 Vapor 将 swift 包推送到 Heroku的主要内容,如果未能解决你的问题,请参考以下文章

将消息从 SSIS (2012) 包推送到 ASP.NET Web 应用程序中的 SignalR 集线器——最好的方法是啥?

Swift Vapor - configure.swift 中的“无法使用类型的参数列表调用“添加”...”错误

工作经验项目打成的Jar包推送到公司私服nexus

工作经验项目打成的Jar包推送到公司私服nexus

Vapor 3 Swift 4 如何制作计时器

使用Swift4+Vapor写后端-初体验