ошибка: невозможно преобразовать значение типа ObjCBool ​​в ожидаемый тип аргумента Bool в Swift 4.1.2 и Kitura в Ubuntu 16.04 - PullRequest
0 голосов
/ 25 июня 2018

У меня обычная ванильная Ubuntu 16.04 и установлены на ней OpenSSH, Curl и Swift 4.1.2. Базовый пример (исполняемый файл пакета swift init --type) работает, но когда я хочу использовать инфраструктуру 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 выглядит так:

Импорт PackageDescription

let package = Package ( название: "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 чт 20 июля 10:19:48 UTC 2017 x86_64 x86_64 x86_64 GNU / Linux

Есть идеи?

1 Ответ

0 голосов
/ 25 июня 2018

Китура справляется с этим правильно, см. https://github.com/IBM-Swift/Kitura/blob/master/Sources/Kitura/staticFileServer/FileServer.swift#L95

Однако вы используете устаревшую версию Kitura, которая не была обновлена ​​для вашей версии Swift. Пожалуйста, обновите Kitura до последней версии 2.4.1.

...