我有一个普通的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
有什么想法吗?
答案 0 :(得分:1)
Kitura正确处理了它,请参见https://github.com/IBM-Swift/Kitura/blob/master/Sources/Kitura/staticFileServer/FileServer.swift#L95
但是,您使用的Kitura版本过时,而Swift版本尚未更新。请将Kitura更新到当前的最新版本2.4.1。