whatisgithub

What is dep?

golang/dep — explained in plain English

Analysis updated 2026-06-24

12,742GoAudience · developerComplexity · 2/5Setup · moderate

In one sentence

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.

Mindmap

mindmap
  root((repo))
    What it does
      Declare dependencies
      Lock library versions
      Ensure team consistency
    Status
      Archived in 2020
      Replaced by Go modules
      Documentation still up
    Platform support
      Mac
      Windows
      Linux
    Migration path
      Go modules built-in
      go.mod replaces Gopkg.toml
      go.sum replaces lock file
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Migrate a legacy Go codebase that still uses dep over to Go modules before the old tooling stops working.

USE CASE 2

Understand how dep worked when reviewing or maintaining older Go projects that have not yet been updated.

USE CASE 3

Reference dep's documentation site to understand the dependency format of an archived Go project.

What is it built with?

Go

How does it compare?

golang/depswaggo/swagsafing/portmaster
Stars12,74212,78912,693
LanguageGoGoGo
Setup difficultymoderateeasymoderate
Complexity2/52/53/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Deprecated, only useful for maintaining legacy codebases, new projects must use Go modules instead.

So what is it?

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.

Copy-paste prompts

Prompt 1
Walk me through migrating a Go project from dep to Go modules, converting Gopkg.toml and Gopkg.lock to go.mod and go.sum.
Prompt 2
Map the most common dep commands to their Go modules equivalents, dep init, dep ensure, dep ensure -update, and dep status.
Prompt 3
My legacy Go 1.9 project uses dep, what is the minimum set of steps to get it compiling with Go modules on a modern Go version?

Frequently asked questions

What is dep?

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.

What language is dep written in?

Mainly Go. The stack also includes Go.

How hard is dep to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is dep for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.