# masterminds/glide

**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/masterminds-glide).**

8,095 stars · 531 forks · Go · NOASSERTION

## Links

- GitHub: https://github.com/Masterminds/glide
- Homepage: https://glide.sh
- awesome-repositories: https://awesome-repositories.com/repository/masterminds-glide.md

## Topics

`go` `golang` `package-management` `semantic-versions`

## Description

Glide is a Go dependency management tool that fetches, pins, and vendors external packages to enable reproducible builds across environments. It stores project-specific copies of Go packages in a vendor directory, isolating dependencies per project to avoid version conflicts, and supports fetching packages from Git, Mercurial, Bazaar, and Subversion repositories. The tool resolves dependency versions using semantic versioning ranges and operators, and generates a lock file that records exact commit IDs for all transitive dependencies.

Glide distinguishes itself with an interactive version wizard that scans dependencies and suggests version ranges for the configuration file, and the ability to map an import path to a different repository URL, such as a fork, without changing import statements. It supports cross-platform dependency filtering, restricting package downloads to specific operating systems and CPU architectures, and can import and merge dependency configurations from Godep, GPM, Gom, and GB. The tool also provides a custom subcommand delegation feature that passes unknown commands to an external executable.

The project includes utilities for listing imported and vendored packages, showing import trees, and retrieving project metadata for scripting and automation. It offers parallel installation of dependencies, deterministic reproduction of dependency trees, and the ability to update all dependencies to the latest versions matching specified constraints.

## Tags

### Programming Languages & Runtimes

- [Go Dependency Managers](https://awesome-repositories.com/f/programming-languages-runtimes/go-dependency-managers.md) — Manages external Go packages by fetching, pinning, and vendoring dependencies for reproducible builds across environments.
- [Import Path Mapping](https://awesome-repositories.com/f/programming-languages-runtimes/import-path-mapping.md) — Maps import paths to different repository URLs, such as forks, without changing import statements.

### Development Tools & Productivity

- [Import Alias Mappings](https://awesome-repositories.com/f/development-tools-productivity/command-line-configuration/alias-configurations/class-alias-definitions/import-alias-mappings.md) — Maps an import path to a different repository URL, such as a fork, without changing import statements. ([source](https://cdn.jsdelivr.net/gh/masterminds/glide@master/README.md))
- [Dependency Lock Managers](https://awesome-repositories.com/f/development-tools-productivity/dependency-lock-managers.md) — Restores the exact dependency tree from a lock file into the vendor directory, skipping already-present packages for speed. ([source](http://glide.readthedocs.io/en/stable/commands/))
- [Dependency Installers](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/installation-resolution-utilities/dependency-installers.md) — Reads the lock file and installs the exact versions listed, skipping scanning for a fast and deterministic setup. ([source](https://cdn.jsdelivr.net/gh/masterminds/glide@master/README.md))
- [Dependency Vendors](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/installation-resolution-utilities/dependency-installers/dependency-download-optimizers/dependency-vendors.md) — Stores project-specific package copies in a vendor directory to avoid version conflicts. ([source](http://glide.readthedocs.io/en/stable/vendor/))
- [Lock File Vendors](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/installation-resolution-utilities/dependency-installers/dependency-download-optimizers/dependency-vendors/lock-file-vendors.md) — Downloads all project dependencies into a vendor directory, resolves transitive dependencies, and writes a lock file with exact commit IDs. ([source](http://glide.readthedocs.io/en/stable/getting-started/))
- [Dependency Declarations](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/python-package-managers/dependency-declarations.md) — Declares external dependencies in a glide.yaml file, specifying import paths and optional version constraints. ([source](https://cdn.jsdelivr.net/gh/masterminds/glide@master/README.md))
- [Dependency Resolvers](https://awesome-repositories.com/f/development-tools-productivity/dependency-resolvers.md) — Scans source code to identify all external packages and their transitive dependencies for management. ([source](http://glide.readthedocs.io/en/stable/resolving-imports/))
- [Dependency Version Wizards](https://awesome-repositories.com/f/development-tools-productivity/interactive-cli-wizards/dependency-version-wizards.md) — Provides an interactive wizard that scans dependencies and suggests version ranges for configuration. ([source](https://cdn.jsdelivr.net/gh/masterminds/glide@master/README.md))
- [Package Dependency Management](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-management.md) — Downloads a specified package and its transitive dependencies, then adds it to the configuration file automatically. ([source](https://cdn.jsdelivr.net/gh/masterminds/glide@master/README.md))
- [Transitive Dependency Resolution](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-managers/automated-dependency-updaters/transitive-dependency-updates/transitive-dependency-resolution.md) — Scans imported packages recursively to discover and fetch their transitive dependencies. ([source](https://cdn.jsdelivr.net/gh/masterminds/glide@master/README.md))
- [Import Path Source Mappings](https://awesome-repositories.com/f/development-tools-productivity/package-installers/fork-sourced-package-installations/import-path-source-mappings.md) — Maps a dependency to an alternative source, such as a fork, while keeping the original import path. ([source](http://glide.readthedocs.io/en/stable/))
- [Semantic Versioning](https://awesome-repositories.com/f/development-tools-productivity/project-version-managers/project-release-versions/semantic-versioning.md) — Resolves dependency versions using semantic versioning ranges, operators, and lock files for deterministic and reproducible installs.
- [Version Constraints](https://awesome-repositories.com/f/development-tools-productivity/version-constraints.md) — Retrieves a dependency at a version matching a semantic version range, tag, branch, or commit hash from the VCS. ([source](https://cdn.jsdelivr.net/gh/masterminds/glide@master/README.md))
- [Platform-Specific Restrictions](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-package-managers/platform-specific-restrictions.md) — Limits fetching of a dependency to specific operating systems or architectures using os and arch fields. ([source](https://cdn.jsdelivr.net/gh/masterminds/glide@master/README.md))
- [Dependency Configuration Importers](https://awesome-repositories.com/f/development-tools-productivity/dependency-configuration-importers.md) — Reads existing dependency configuration from GPM, Godep, Gom, or GB and merges it into a glide.yaml file. ([source](http://glide.readthedocs.io/en/stable/faq/))
- [Dependency Configuration Tools](https://awesome-repositories.com/f/development-tools-productivity/dependency-configuration-tools.md) — Walks the filesystem to detect imports and populates a manifest file with external package references and versions. ([source](http://glide.readthedocs.io/en/stable/resolving-imports/))
- [Parallel](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/installation-resolution-utilities/dependency-installers/parallel.md) — Installs multiple dependencies and pins their revisions in parallel by using the complete dependency tree for faster setup. ([source](http://glide.readthedocs.io/en/stable/glide.lock/))
- [Test](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/python-package-managers/dependency-declarations/test.md) — Lists packages required only during testing, separate from the main import list. ([source](http://glide.readthedocs.io/en/stable/glide.yaml/))
- [Conditional Dependency Resolution](https://awesome-repositories.com/f/development-tools-productivity/language-specific-dependency-managers/conditional-dependency-resolution.md) — Restricts dependency downloads to specific operating systems and architectures using os and arch fields. ([source](http://glide.readthedocs.io/en/stable/faq/))
- [Multi-VCS Package Fetchers](https://awesome-repositories.com/f/development-tools-productivity/local-package-repositories/multi-vcs-package-fetchers.md) — Downloads Go packages from Git, Mercurial, Bazaar, and Subversion repositories into a local vendor tree.
- [Manifest Dependency Records](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-managers/dependency-metadata-automation/manifest-dependency-records.md) — Records dependency information including name, version ranges, and VCS details in a glide.yaml file. ([source](http://glide.readthedocs.io/en/stable/))
- [Dependency Override Managers](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-managers/dependency-override-managers.md) — Points a dependency to a different repository URL than its import path, enabling forks or private mirrors. ([source](http://glide.readthedocs.io/en/stable/glide.yaml/))
- [Package Location Resolvers](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-managers/package-location-resolvers.md) — Searches vendor directories, GOPATH, and GOROOT in order to locate a dependent package. ([source](http://glide.readthedocs.io/en/stable/vendor/))
- [Workspace Initializers](https://awesome-repositories.com/f/development-tools-productivity/project-imports/workspace-initializers.md) — Creates a glide.yaml configuration file by scanning the codebase and importing rules from other package managers. ([source](https://cdn.jsdelivr.net/gh/masterminds/glide@master/README.md))
- [Project Initializers](https://awesome-repositories.com/f/development-tools-productivity/project-initializers.md) — Scans source code and existing package manager config to generate a glide.yaml file with guessed dependencies. ([source](https://cdn.jsdelivr.net/gh/masterminds/glide@master/README.md))
- [Cross-VCS Cloning](https://awesome-repositories.com/f/development-tools-productivity/repository-cloning-tools/cross-vcs-cloning.md) — Supports Git, Bzr, HG, and SVN repositories for fetching dependencies from various VCS backends. ([source](http://glide.readthedocs.io/en/stable/))

### DevOps & Infrastructure

- [Dependency Lock Files](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/file-based-configuration/dependency-lock-files.md) — Stores exact revision hashes in a glide.lock file to ensure reproducible dependency trees. ([source](http://glide.readthedocs.io/en/stable/))
- [Dependency Isolation](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/project-management/dependency-isolation.md) — Uses vendor directories to isolate each project's dependency versions and prevent conflicts. ([source](http://glide.readthedocs.io/en/stable/))
- [Semantic Versioning Systems](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/version-compatibility-management/semantic-versioning-systems.md) — Works with Semantic Versioning and version ranges to select compatible dependency versions. ([source](http://glide.readthedocs.io/en/stable/))
- [Resolvers](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/version-compatibility-management/semantic-versioning-systems/resolvers.md) — Accepts Semantic Version ranges to specify compatible dependency versions and resolve them automatically. ([source](http://glide.readthedocs.io/en/stable/))
- [Dependency Tree Downloads](https://awesome-repositories.com/f/devops-infrastructure/distribution-packaging/registries/package-directories/package-downloading/dependency-tree-downloads.md) — Records the full dependency tree and exact revisions for reproducible installations across environments. ([source](http://glide.readthedocs.io/en/stable/glide.lock/))
- [Lock-File Pinning](https://awesome-repositories.com/f/devops-infrastructure/reproducible-environments/lock-file-pinning.md) — Generates a glide.lock file that pins every dependency to a specific commit for reproducible installs. ([source](http://glide.readthedocs.io/en/stable/glide.yaml/))
- [Dependency Versioning](https://awesome-repositories.com/f/devops-infrastructure/version-upgrades/dependency-versioning.md) — Restricts acceptable dependency versions using operators like greater-than, less-than, and wildcards. ([source](http://glide.readthedocs.io/en/stable/versions/))
- [Architecture Filters](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/environment-scoping-controls/dependency-scoping/package-scope-filtering/dependency-list-filters/architecture-filters.md) — Restricts a dependency to be fetched only when the current CPU architecture matches a listed value. ([source](http://glide.readthedocs.io/en/stable/glide.yaml/))
- [Operating System Filters](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/environment-scoping-controls/dependency-scoping/package-scope-filtering/dependency-list-filters/operating-system-filters.md) — Restricts a dependency to be fetched only when the current operating system matches a listed value. ([source](http://glide.readthedocs.io/en/stable/glide.yaml/))
- [Platform Filters](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/environment-scoping-controls/dependency-scoping/package-scope-filtering/dependency-list-filters/platform-filters.md) — Restricts a dependency to be fetched only for specified operating systems or CPU architectures. ([source](https://cdn.jsdelivr.net/gh/masterminds/glide@master/README.md))
- [Workspace Initializers](https://awesome-repositories.com/f/devops-infrastructure/devops/backend-as-a-service-platforms/backend-as-a-service-integrations/workspace-initializers.md) — Scans the codebase and existing package manager configs to create a glide.yaml file with guessed dependencies and versions. ([source](http://glide.readthedocs.io/en/stable/commands/))
- [Locked Version Updates](https://awesome-repositories.com/f/devops-infrastructure/version-upgrades/dependency-versioning/dependency-version-updates/locked-version-updates.md) — Fetches the latest versions matching version ranges and pins exact versions in a lock file. ([source](https://cdn.jsdelivr.net/gh/masterminds/glide@master/README.md))

### Security & Cryptography

- [Source Code Dependency Scanners](https://awesome-repositories.com/f/security-cryptography/security-auditing/dependency-vulnerability-scanning/source-code-dependency-scanners.md) — Scans source code and a configuration file to determine needed packages and retrieves them into the vendor directory. ([source](https://cdn.jsdelivr.net/gh/masterminds/glide@master/README.md))

### 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) — Stores project-specific copies of Go packages in a vendor directory to isolate dependencies per project.
- [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 per project.
- [Project Dependency Discovery](https://awesome-repositories.com/f/software-engineering-architecture/project-dependency-discovery.md) — Scans a Go project's source code and imports dependency configuration from other tools to generate an initial manifest file. ([source](http://glide.readthedocs.io/en/stable/getting-started/))

### Part of an Awesome List

- [Revision Audit Trails](https://awesome-repositories.com/f/awesome-lists/security/dependency-version-auditing/revision-audit-trails.md) — Stores the full dependency tree and commit IDs for review, troubleshooting, and change detection. ([source](http://glide.readthedocs.io/en/stable/glide.lock/))
- [Package Management](https://awesome-repositories.com/f/awesome-lists/devtools/package-management.md) — Dependency management inspired by Maven and Bundler.

### Web Development

- [Multi-VCS Package Fetchers](https://awesome-repositories.com/f/web-development/data-fetching-caching/on-demand-loaders/package-on-demand-fetching/multi-vcs-package-fetchers.md) — Downloads Go packages from Git, Mercurial, Bazaar, and Subversion repositories into a local vendor tree.
