Comments (4)
I just stumbled over the same problem. The command in your Procfile
is wrong. Instead of writing web: go run main.go
you need to enter web: /bin/your-app-name
. The app name is equivalent to the name of your git repository.
This is pretty badly documented, I must say. It took me quite some time to figure this out. The Heroku guys should improve their docs.
from heroku-buildpack-go.
Yes, we should make this clearer that the buildpack first builds your binaries and does not include a copy of the toolchain. We do explain this here https://devcenter.heroku.com/articles/go-support#runtime-behavior, but it is pretty out of the way.
from heroku-buildpack-go.
I'm still experiencing this issue, the docs is not really clear on how to write your Procfile to run the go server.
from heroku-buildpack-go.
@acamara2016 Apologies for the difficulties - the Procfile should map a "process type" e.g. web
to a command executing the binary post compile, e.g:
web: web-server -port "${PORT}"
You can see an example of this here: https://github.com/heroku/go-getting-started/blob/main/Procfile.
If you have multiple main
packages (e.g. in a cmd/server
, cmd/worker
style setup) you would adjust your go.mod
to include additional directives, such as:
// +heroku install ./cmd/server ./cmd/worker
Which would then be available through something like:
web: bin/server
worker: bin/worker
More details in https://github.com/heroku/heroku-buildpack-go?tab=readme-ov-file#go-module-specifics.
I'll look at adding a complete worked example to the docs tomorrow.
from heroku-buildpack-go.
Related Issues (20)
- Failed to compile Go app without vendor on Go 1.16 HOT 4
- Way to set GO111MODULE for 1.16?
- Custom Vendoring doesnt work!
- go_pre_compile does not work HOT 2
- Error decompressing go1.16.10.linux-amd64.tar.gz HOT 2
- Mulitple instances of app running HOT 2
- Requested file unknown to the buildpack HOT 5
- Add Go 1.18.6 and 1.19.1
- go cmd unavailable for go-pre-compile or go-post-compile HOT 1
- Add Go 1.20
- build fails on specific packages - go1.20
- Go 1.21.1 is released!
- Go 1.22 was released on 07.02.2024
- Feature Request: Optionally print `go env`
- Feature Request: Output any env vars that are picked up
- Support ARM64 when using Heroku-24 Docker images
- Go 1.22 apps cannot be built after the version change to go1.22.4 HOT 1
- Add an integration test
- Go 1.22.5 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from heroku-buildpack-go.