Heroku Golang - 找不到命令 'main'

Heroku Golang - command 'main' not found

我在 Heroku 上安装了 Go API,我向其推送了一些代码;在我的 procfile 中,我有以下内容

web: main

为了在 Heroku 端启动 Go 构建的二进制文件。当我用

在我这边构建它时
go build cmd/main.go

它在我的项目根目录中生成一个名为 'main' 的二进制文件并按预期工作,但在 Heroku 上我得到

app[web.1]: bash: main: No such file or directory

Heroku 上的构建过程似乎很好,它找到了我所有的依赖项并且 installs/compiles 全部。

当我意识到这一点时,这非常简单;

All main packages in the repo are compiled and binaries placed in the /app/bin directory, which is in the PATH. Binaries are named after the directory that contains them.

另一件需要注意的事情:与其他 Go 程序一样,main.go 中的代码必须属于包 main:

package main

func main() {
    // your code here
}

恐怕一开始我完全忘记了这一点,它难倒了我一段时间。