1

我正在尝试将 Swift 应用程序部署到 Heroku。我正在使用 Swift 5.0.2 和 Heroku Stack 18。这个应用程序以前使用 Swift 3.0 和 Heroku Stack 16。

我不确定这个错误到底在告诉我什么,所以我不知道从哪里开始修复它。我正在使用 Heroku 构建包的一个分支,因为它甚至不支持他们自己的 Stack 18。https://github.com/onuniverse/heroku-buildpack-swift

2019-07-19T00:25:55.906961+00:00 heroku[web.1]: State changed from crashed to starting
2019-07-19T00:25:57.109052+00:00 heroku[web.1]: Starting process with command `Unibot --bind 0.0.0.0:58139`
2019-07-19T00:25:58.829639+00:00 heroku[web.1]: State changed from starting to crashed
2019-07-19T00:25:58.761232+00:00 app[web.1]: Unibot: error while loading shared libraries: libicui18nswift.so.61: cannot open shared object file: No such file or directory
4

1 回答 1

3
Unibot: error while loading shared libraries: libicui18nswift.so.61:
cannot open shared object file: No such file or directory

日志的最后一行表明您使用的 buildpack 没有正确复制 Swift 工具链中的所有共享库,要么是因为它正在寻找预定义的库名称,要么没有考虑符号链接——这是 Swift 5.0 引入的。


我建议再次尝试使用vapor/vaporbuildpack(可在此处获取源代码),它支持 Swift 5.0.2 和开箱即用的 heroku-18 堆栈。

尽管它的名字,它不包含任何特定于 Vapor 的内容,并且适用于任何 Swift 项目。

于 2019-07-19T13:28:01.233 回答