error: cannot convert value of type 'ObjCBool' to expected argument type 'Bool' on Swift 4.1.2 and Kitura on Ubuntu 16.04
error: cannot convert value of type 'ObjCBool' to expected argument type 'Bool' on Swift 4.1.2 and Kitura on Ubuntu 16.04
我有一个普通的 Ubuntu 16.04,并在上面安装了 OpenSSH、Curl 和 Swift 4.1.2。
基本示例(swift package init --type executable)可以工作,但是当我想使用 Kitura 框架时,如果我 'swift build' 它会出现编译错误。
错误:
/.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 {
^~~~~~~~~~~~~~~
error: terminated(1): /home/thewall/swift-4.1.2-RELEASE-ubuntu16.04/usr/bin/swift-build-tool -f /home/thewall/zSwift/.build/debug.yaml 主要输出:
我的 package.swift 文件如下所示:
import PackageDescription
let package = Package(
name: "zSwift",
dependencies: [
.package(url: "https://github.com/IBM-Swift/Kitura.git", >.upToNextMinor(from: "2.1.0")),
],
targets: [
.target(
name: "zSwift",
dependencies: ["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
有什么想法吗?
Kitura 处理得当,参见 https://github.com/IBM-Swift/Kitura/blob/master/Sources/Kitura/staticFileServer/FileServer.swift#L95
但是,您使用的是未针对您的 Swift 版本更新的过时 Kitura 版本。请将 Kitura 更新到最新版本,目前是 2.4.1。
我有一个普通的 Ubuntu 16.04,并在上面安装了 OpenSSH、Curl 和 Swift 4.1.2。 基本示例(swift package init --type executable)可以工作,但是当我想使用 Kitura 框架时,如果我 'swift build' 它会出现编译错误。
错误:
/.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 {
^~~~~~~~~~~~~~~
error: terminated(1): /home/thewall/swift-4.1.2-RELEASE-ubuntu16.04/usr/bin/swift-build-tool -f /home/thewall/zSwift/.build/debug.yaml 主要输出:
我的 package.swift 文件如下所示:
import PackageDescription
let package = Package( name: "zSwift", dependencies: [ .package(url: "https://github.com/IBM-Swift/Kitura.git", >.upToNextMinor(from: "2.1.0")), ], targets: [ .target( name: "zSwift", dependencies: ["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
有什么想法吗?
Kitura 处理得当,参见 https://github.com/IBM-Swift/Kitura/blob/master/Sources/Kitura/staticFileServer/FileServer.swift#L95
但是,您使用的是未针对您的 Swift 版本更新的过时 Kitura 版本。请将 Kitura 更新到最新版本,目前是 2.4.1。