Migrate a legacy Go codebase that still uses dep over to Go modules before the old tooling stops working.
Understand how dep worked when reviewing or maintaining older Go projects that have not yet been updated.
Reference dep's documentation site to understand the dependency format of an archived Go project.
| golang/dep | swaggo/swag | safing/portmaster | |
|---|---|---|---|
| Stars | 12,742 | 12,789 | 12,693 |
| Language | Go | Go | Go |
| Setup difficulty | moderate | easy | moderate |
| Complexity | 2/5 | 2/5 | 3/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Deprecated, only useful for maintaining legacy codebases, new projects must use Go modules instead.
Dep was an official experiment by the Go team to build a package manager for the Go programming language. It let Go developers declare which external libraries their project depended on, download those libraries at specific versions, and ensure every developer on a team was working with the same set of dependencies. The project is now deprecated and no longer maintained. In 2020 it was archived in favor of Go modules, which became the official dependency management system built directly into the Go toolchain starting with Go 1.11. Anyone starting a new Go project today should use Go modules instead of dep. Dep was installable on Mac, Windows, Linux, and other platforms, and it required Go 1.9 or newer to compile from source. The documentation site still exists for teams that maintain older codebases that used dep before the transition to modules.
A deprecated Go dependency manager that let developers lock library versions across a team. It was archived in 2020 and replaced by Go modules, which is now the official tool built into the Go toolchain.
Mainly Go. The stack also includes Go.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.