首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kitura Swift应用程序不能在Heroku上编译

Kitura Swift应用程序不能在Heroku上编译
EN

Stack Overflow用户
提问于 2017-08-14 09:45:34
回答 1查看 166关注 0票数 0

在本地创建Kitura应用程序,并成功编译和构建。但在尝试部署到heroku时,我得到了以下输出:

/tmp/build_cbc1c98480abd8ace78731a677031c0a/.build/checkouts/Kitura.git--211144618449703330/Sources/Kitura/RouterRequest.swift:56:33:错误:使用未解析的标识符‘RegularExpression’远程: let regex = try RegularExpression(pattern: pattern,options:.caseInsensitive)远程:^ remote: Foundation.NSRegularExpression:1:12:注意:您的意思是'NSRegularExpression‘吗?远程:打开类NSRegularExpression : Foundation.NSObject,NSCopying,NSCoding {

使用的swift版本是3.1,当通过.swift-version文件推送到heroku时,我指定了相同的版本。

这是使用的Package.swift

使用的Kitura版本是1主要7次要版本

尝试其他版本的swift,例如3.1.1会导致挂起,以至于heroku由于超时而取消。任何帮助都将不胜感激。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-14 14:59:25

首先,请注意,您在Mac和Linux上遇到了Swift的差异。当Heroku运行Linux时,您可能在Mac上检查过它。

其次,在此拉流请求https://github.com/IBM-Swift/Kitura/pull/1107中,RegularExpression被替换为NSRegularExpression。从Kitura 1.7.4开始,您应该不会遇到这个问题。这意味着您可能使用1.7.4之前的Kitura版本,如果您的Package.pins文件指定了旧的Kitura版本,则可能会发生这种情况。您可以删除该文件,也可以运行swift package update对其进行更新。

要验证所使用的Kitura包的实际版本,请cd.build/checkouts/Kitura.git-XXXXXXXXXXX目录,在那里运行git tag并检查最新的标记。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45666444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档