Slackbot用Swift 4编写,部署在Heroku上

Slackbot用Swift 4编写,部署在Heroku上,swift,heroku,slack,swift4,heroku-api,Swift,Heroku,Slack,Swift4,Heroku Api,我用SlackKit和Swift4.0编写了一个Slackbot。我遵循了一个非常简单易懂的教程 他把机器人部署在 出现的第一个问题是,我使用了一个数组扩展,它从给定集合中为我提供了一个随机项: extension Array { /// Picks `n` random elements (partial Fisher-Yates shuffle approach) subscript (randomPick n: Int) -> [Element] { va

我用
SlackKit
和Swift
4.0
编写了一个Slackbot。我遵循了一个非常简单易懂的教程

他把机器人部署在

出现的第一个问题是,我使用了一个数组扩展,它从给定集合中为我提供了一个随机项:

extension Array {
    /// Picks `n` random elements (partial Fisher-Yates shuffle approach)
    subscript (randomPick n: Int) -> [Element] {
      var copy = self
      for i in stride(from: count - 1, to: count - n - 1, by: -1) {
          copy.swapAt(i, Int(arc4random_uniform(UInt32(i + 1))))
      }
      return Array(copy.suffix(n))
    }
}
使用此代码,我没有构建问题,我想将代码推送到Heroku,但当它运行抛出部署时,出现了一个错误:

错误:使用未解析标识符“arc4random\u uniform”

搜索后,我发现一个Swift报告,并将我的代码更改为:

extension Array {
    /// Picks `n` random elements (partial Fisher-Yates shuffle approach)
    subscript (randomPick n: Int) -> [Element] {
        var copy = self
        for i in stride(from: count - 1, to: count - n - 1, by: -1) {
            #if os(Linux)
                copy.swapAt(i, Int(random() % (i + 1)))
            #else
                copy.swapAt(i, Int(arc4random_uniform(UInt32(i + 1))))
            #endif

         }
         return Array(copy.suffix(n))
    }
}
现在,我的代码成功地推送并部署在Heroku上

但是当我想在我的
Slack
频道中启动Bot时,就像:

rf24-dev-mac-1:support-dialer konstantin$ heroku run:detached slackbot
Running slackbot on ⬢ support-dialer... done, run.1246 (Free)
Run heroku logs --app support-dialer --dyno run.1246 to view the output.
然后运行输出命令,我得到:

2017-09-25T13:37:27.762135+00:00 heroku[run.1246]: Starting process with command `.build/release/support-dialer`
2017-09-25T13:37:28.335452+00:00 heroku[run.1246]: State changed from starting to up
2017-09-25T13:37:29.842073+00:00 heroku[run.1246]: Process exited with status 127
2017-09-25T13:37:29.779834+00:00 app[run.1246]: .build/release/support-dialer: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
2017-09-25T13:37:29.856440+00:00 heroku[run.1246]: State changed from up to complete
因此,我不知道我能做些什么来修复这个问题,因为它不会启动Slackbot,当我单击at
Heroku
时,它也会说有错误