错误:无法将类型'ObjCBool​​'的值转换为Swift 4.1.2上的预期参数类型'Bool'以及Ubuntu 16.04上的Kitura

时间:2018-06-25 15:15:43

标签: swift ubuntu kitura

我有一个普通的Ubuntu 16.04,并在其上安装了OpenSSH,Curl和Swift 4.1.2。 基本示例(swift包init --type可执行文件)可以工作,但是当我想使用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 {
                ^~~~~~~~~~~~~~~

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

我的package.swift文件如下:

  

导入PackageDescription

     

let package = Package(      名称:“ zSwift”,      依赖项:[     .package(url:“ https://github.com/IBM-Swift/Kitura.git”,> .upToNextMinor(from:“ 2.1.0”)),      ],      目标:[          。目标(              名称:“ 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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

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