0

我有一个普通的 Ubuntu 16.04,并在上面安装了 OpenSSH、Curl 和 Swift 4.1.2。基本示例(swift package init --type executable)有效,但是当我想使用 Kitura 框架时,如果我“快速构建”它,则会出现编译错误。

错误:

/.build/checkouts/Kitura.git--4845395383860597130/Sources/Kitura/staticFileServer/FileServer.swift:138:21: error: cannot convert value of type 'ObjCBool' to expected argument type 'Bool'
            if !isDirectoryBool {
                ^~~~~~~~~~~~~~~

错误:终止(1):/home/thewall/swift-4.1.2-RELEASE-ubuntu16.04/usr/bin/swift-build-tool -f /home/thewall/zSwift/.build/debug.yaml 主要输出:

我的 package.swift 文件如下所示:

导入包描述

让包=包(名称:“zSwift”,依赖项:[.package(url:“ https://github.com/IBM-Swift/Kitura.git ”,>.upToNextMinor(来自:“2.1.0”)) , ], 目标: [ .target( 名称: "zSwift", 依赖: ["Kitura"]), ] )

uname -a 给出:

Linux thewall 4.10.0-28-generic #32~16.04.2-Ubuntu SMP Thu Jul 20 10:19:48 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

有任何想法吗?

4

1 回答 1

1

Kitura 正在正确处理它,请参阅https://github.com/IBM-Swift/Kitura/blob/master/Sources/Kitura/staticFileServer/FileServer.swift#L95

但是,您使用的是尚未针对您的 Swift 版本更新的过时 Kitura 版本。请将 Kitura 更新到当前 2.4.1 的最新版本。

于 2018-06-25T15:31:30.107 回答