2017-08-14 5 views
0

Kituraアプリケーションをローカルに作成し、コンパイルして正常にビルドします。Kitura SwiftアプリケーションがHerokuでコンパイルされない

/tmp/build_cbc1c98480abd8ace78731a677031c0a/.build/checkouts/Kitura.git--211144618449703330/Sources/Kitura/RouterRequest.swift:56:33:しばらくHerokuのに展開しようとすると、しかし、私は次のような出力が得られます。エラー:未解決の識別子の使用 'RegularExpression'remote:let regex = try RegularExpression(パターン:パターン、オプション:[.caseInsensitive])remote:^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .NSRegularExpression:1:12:note: 'NSRegularExpression'を意味しましたか?リモート:オープンクラスNSRegularExpression:Foundation.NSObject、NSCopying、NSCoding {

swiftのバージョンは3.1で、.swift-versionファイルを使ってherokuにプッシュするときは同じバージョンを指定しました。

これはPackage.swiftが使用Kituraの

バージョンを使用されているSWIFTなどの他のバージョンを試す1つのメジャーマイナー7

あります3.1.1の結果は、タイムアウトのためにヒーローがキャンセルする点まで吊り下げられます。どんな助けでも大歓迎です。ありがとう

答えて

1

まず、MacとLinuxでSwiftの相違が発生することにご注意ください。 HerokuはLinuxを実行しているのに対し、おそらくあなたのMacでチェックしたでしょう。

次に、このプルリクエストhttps://github.com/IBM-Swift/Kitura/pull/1107では、RegularExpressionNSRegularExpressionに置き換えられました。この問題は、Kitura 1.7.4から始めるべきではありません。これは、古いKituraバージョンを指定するファイルがPackage.pinsの場合に発生する可能性がある、1.7.4より前のKituraバージョンを使用している可能性があることを意味します。そのファイルを削除するか、swift package updateを実行して更新してください。

使用されているKituraパッケージの実際のバージョンを確認するには、cd.build/checkouts/Kitura.git-XXXXXXXXXXXディレクトリにgit tagを実行し、最新のタグを確認してください。

+0

ありがとうございます。ええ - 私はバージョン1.7を使っていました。それを1.7.4に更新すると、herokuでコンパイルすることができました。再度、感謝します! – user9370472

関連する問題