dab.io

Run gvt on Heroku

Currently gvt is not on the list of supported dependency managers for using Go on Heroku. Follow the basic rules to make your project appear to be a gb project to get gvt projects running on Heroku.

gvt is my package manager of choice when using Go. gvt is based on gb-vendor which is part of gb. gb was built at a pre Go 1.5 era, when Go did not support basic vendoring. gb is supported by the official Heroku buildpack. The buildpack detects the file structure of your project and decides which dependency manager to use.

If you bring your project into the following file structure, you can run go apps on Heroku using gvt.

dan@case ~/g/s/g/d/go-gvt> tree
.
├── Procfile
├── src
│   └── web
│       └── web.go
└── vendor
    ├── github.com
    │   └── [your dependencies]
    ├── manifest
    └── src -> ../vendor

A src/[dir]/ directory with your go files and a static link inside the vendor/ folder are required. Heroku will detect a gb project, build and run your app on their platform.

Find an example project on GitHub.