Coder Social home page Coder Social logo

Comments (4)

pemistahl avatar pemistahl commented on August 28, 2024

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.

mble avatar mble commented on August 28, 2024

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.

acamara2016 avatar acamara2016 commented on August 28, 2024

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.

mble avatar mble commented on August 28, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.