Приложение Kitura Swift не компилируется на Heroku

Создайте приложение Kitura локально, и оно будет успешно скомпилировано и построено. Но при попытке развернуться на героку через некоторое время я получаю следующий вывод:

/tmp/build_cbc1c98480abd8ace78731a677031c0a/.build/checkouts/Kitura.git -- 211144618449703330/Sources/Kitura/RouterRequest.swift:56:33: ошибка: использование неразрешенного идентификатора 'RegularExpression'remote: пусть regionex параметры: [.caseInsensitive]) удаленный: ^~~~~~~~~~~~~~~~ удаленный: Foundation.NSRegularExpression:1:12: примечание: вы имели в виду «NSRegularExpression»? удаленный: открытый класс NSRegularExpression: Foundation.NSObject, NSCopying, NSCoding {

Используемая версия swift — 3.1, и я указал ту же версию при отправке на героку через файл .swift-version.

Это используемый Package.swift

Используемая версия Китуры: 1 мажор 7 минор.

Попробуйте другие версии swift, например. 3.1.1 приводит к зависанию - вплоть до того, что героку отменяется из-за тайм-аута. Любая помощь будет высоко ценится. Спасибо


person user9370472    schedule 14.08.2017    source источник


Ответы (1)


Во-первых, обратите внимание, что вы сталкиваетесь с несоответствиями Swift на Mac и Linux. Вы, вероятно, проверили это на своем Mac, а Heroku работает под управлением Linux.

Во-вторых, RegularExpression был заменен на NSRegularExpression в этом запросе на включение https://github.com/IBM-Swift/Kitura/pull/1107. Вы не должны сталкиваться с этой проблемой, начиная с Kitura 1.7.4. Это означает, что вы, вероятно, используете версию Kitura до 1.7.4, что может произойти, если у вас есть файл Package.pins, в котором указана старая версия Kitura. Вы можете либо удалить этот файл, либо запустить swift package update, чтобы обновить его.

Чтобы проверить фактическую версию используемого пакета Kitura, перейдите из каталога cd в каталог .build/checkouts/Kitura.git-XXXXXXXXXXX, запустите там git tag и проверьте последний тег.

person Vadim Eisenberg    schedule 14.08.2017
comment
Спасибо за помощь. Да, я использовал версию 1.7. Обновление до 1.7.4 позволило скомпилировать его на героку. Спасибо еще раз! - person user9370472; 15.08.2017