I got a Go API up on Heroku to which I push some code; in my procfile I have the following
web: main
In order to launch the Go built binary on Heroku's side. When I build it on my side with
go build cmd/main.go
It produces a binary file namned 'main' in my project root and works as expected but on Heroku I get
app[web.1]: bash: main: No such file or directory
The build process on Heroku seems fine, it finds all my dependencies and installs/compiles it all.
This was super simple once I realised this;
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.