-
Notifications
You must be signed in to change notification settings - Fork 536
Go Package Manager Comparison
Matt Farina edited this page Jul 15, 2016
·
7 revisions
There are numerous package dependency managers in the Go ecosystem. How do you choose the one to use? How do they compare?
This table looks at features across several of the popular ones to see how they compare.
| Glide | GB | Godep | Govendor | |
|---|---|---|---|---|
| Semantic Versions | ✓ | ✓ | ✕ | ✕ |
| Semantic Version Ranges | ✓ | ✕ | ✕ | ✕ |
| Tries to import from other package managers | ✓ | ✕ | ✕ | ✕ |
Copies from the GOPATH* |
✕ | ✕ | ✓ | ✓ |
Works with the go toolchain |
✓ | ✕ | ✓ | ✓ |
| Locks for reproducible builds | ✓ | ✓ | ✓ | ✓ |
| Allows package checked into VCS or installed on demand | ✓ | ✓ | ✕ | ✕ |
* Glide keeps the imports separate from the GOPATH so there's no accidental changes there that could cascade into applications using the package.
Obvious disclosure, this is on the Glide project so take that into account.
Note, if there is something inaccurate in this table let's fix it. The goal is to be accurate, mistakes happen, and projects add features.