无法使用 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 集线器——最好的方法是啥?