# tools/godep

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tools-godep).**

5,513 stars · 442 forks · Go · BSD-3-Clause · archived

## Links

- GitHub: https://github.com/tools/godep
- Homepage: http://godoc.org/github.com/tools/godep
- awesome-repositories: https://awesome-repositories.com/repository/tools-godep.md

## Description

godep is a dependency manager for Go that records, restores, and updates package versions to ensure reproducible builds across different environments. It functions as a version lock tool, tracking specific package revisions in a manifest file to synchronize development workspaces and build states.

The tool includes vendoring capabilities that copy external Go source code into a local directory, enabling projects to be built without active network access.

The system manages the full dependency lifecycle, covering version locking, workspace synchronization, and the updating of tracked packages to newer releases.

## Tags

### Programming Languages & Runtimes

- [Go Dependency Managers](https://awesome-repositories.com/f/programming-languages-runtimes/go-dependency-managers.md) — Manages package versions and dependencies specifically within the Go programming language ecosystem.
- [Workspace Synchronization](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/programming-environments-tooling/go-environments/workspace-synchronization.md) — Resets and updates the local development environment to match a saved manifest of Go package versions.

### Development Tools & Productivity

- [Dependency Lock Managers](https://awesome-repositories.com/f/development-tools-productivity/dependency-lock-managers.md) — Generates and maintains lock files to ensure consistent dependency versions and reproducible builds across environments. ([source](https://cdn.jsdelivr.net/gh/tools/godep@master/README.md))
- [Dependency Installers](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/installation-resolution-utilities/dependency-installers.md) — Automates the installation of specific external package versions from a configuration file to synchronize workspaces. ([source](https://godoc.org/github.com/tools/godep))
- [Dependency Vendors](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/installation-resolution-utilities/dependency-installers/dependency-download-optimizers/dependency-vendors.md) — Archives external dependency source code locally to support builds without active network access. ([source](https://cdn.jsdelivr.net/gh/tools/godep@master/README.md))
- [Source Vendoring](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/package-registry-integrations/external-server-package-registries/source-vendoring.md) — Fetches and stores third-party source code locally within the project to enable offline builds.
- [Build Reproducibility Lockfiles](https://awesome-repositories.com/f/development-tools-productivity/global-package-managers/global-dependency-upgrading/global-dependency-pinning/build-reproducibility-lockfiles.md) — Uses lockfiles to pin exact dependency versions, ensuring reproducible builds across different machines.
- [Build Reproducibility Locking](https://awesome-repositories.com/f/development-tools-productivity/package-versioning-utilities/manifest-based-version-trackers/build-reproducibility-locking.md) — Records specific package revisions in a lock file to ensure consistent and reproducible builds across different environments.
- [Dependency](https://awesome-repositories.com/f/development-tools-productivity/project-version-managers/toolchain-versioning/version-locking/dependency.md) — Tracks specific package revisions in a manifest file to synchronize development workspaces and build states.
- [Workspace Dependency Restoration](https://awesome-repositories.com/f/development-tools-productivity/workspace-dependency-restoration.md) — Synchronizes the local development environment by reinstalling package versions defined in a saved configuration manifest.

### Software Engineering & Architecture

- [Vendor Directory Managers](https://awesome-repositories.com/f/software-engineering-architecture/dependency-maintenance/vendored-code-maintenance/vendor-directory-pruning/vendor-directory-managers.md) — Populates and maintains a vendor directory with Go package copies to isolate dependencies per project.
- [Dependency Manifests](https://awesome-repositories.com/f/software-engineering-architecture/dependency-manifests.md) — Provides a centralized manifest file to map package names to specific versions for deterministic dependency resolution.
- [Vendor Directories](https://awesome-repositories.com/f/software-engineering-architecture/isolated-runtime-directories/vendor-directories.md) — Stores project-specific copies of Go packages in a vendor directory to isolate dependencies and enable offline builds.

### DevOps & Infrastructure

- [Dependency Version Updates](https://awesome-repositories.com/f/devops-infrastructure/version-upgrades/dependency-versioning/dependency-version-updates.md) — Provides utilities to refresh pinned package versions to their latest compatible releases and update the lock file.

### Part of an Awesome List

- [Dependency Management](https://awesome-repositories.com/f/awesome-lists/devtools/dependency-management.md) — Tool for fixing dependencies to ensure reproducible builds.
- [Package Management](https://awesome-repositories.com/f/awesome-lists/devtools/package-management.md) — Tool for fixing library dependencies.
