HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
Masterminds
glide
Go2014–2018
Masterminds / glide

glide

Package Management for Golang

9Distinct people
14Mentions
0Explicit recommenders
8.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Package Management for Golang

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year14 dated mentions

Observed mentions: 2014-10-16 02:51:54 UTC to 2018-03-26 16:39:25 UTC.

02462014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC101
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC312
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC716
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101

What Hacker News says

14 sources
The constant thrash caused by the lack of a standard package management tool—even a de facto standard. Just look at the various package managers that have come and gone over the years: 1. https://github.com/tools/godep 2. https://github.com/kardianos/govendor 3. https://github.com/robfig/glock 4. https://github.com/rogpeppe/govers 5. https://github.com/Masterminds/glide 6. https://github.com/golang/dep I'm sure I'm forgetting a few. And just when it seemed the Go team might be ready to standardize around Dep (6), they threw this wrench in the works. I'm of two minds about vgo. I think it has some interesting ideas, but Dep works today, is widely adopted, and has nearly all the features you'd expect from a modern package manager.
In A Proposal for Package Versioning in Go
Check the make file: https://github.com/keratin/authn-server/blob/master/Makefile... Notice it runs "go test $(shell glide nv)" `glide nv` is a command that gets you all packages except the vendor directory https://github.com/Masterminds/glide#glide-novendor-aliased-... then read the go doc for test https://golang.org/cmd/go/#hdr-Test_packages: > 'Go test' recompiles each package along with any files with names matching the file pattern "*_test.go".
In Show HN: Keratin AuthN – Accounts and Auth Microservice in Go
I greatly respect the Go community for subscribing to the language and ecosystem's opinionatedness, and resisting attempts to relax these rules and conventions. It's not for everyone, I know, but that's the banner they champion, and it works for them. But, I can't support the attitude voiced in this blog post, that uses the technical realities of Go's broken out-of-the-box package management to justify a culture of NIH [1][2]. This is warped logic. Are outside dependencies a liability? Yes! You weigh your risks before you rely on someone else's code. Does Go provide sub-par support for reproducible builds and dependency management out-of-the-box? Yes! But others in the community [3][4] have stepped up to bring Go packaging up to the standards that other languages' developers have come to expect. [1] http://c2.com/cgi/wiki?NotInventedHere
Read the rest
In Go Dependencies Considered Harmful
After more searching, I found a StackOverflow question asking the same thing [1], and the answer appears to be: "Vendoring is the act of making your own copy of the 3rd party packages your project is using. Those copies are traditionally placed inside each project and then saved in the project repository." Being familiar with both Maven and npm, in those communities, this act of checking dependencies into source control is a controversial and hotly-debated topic, but in those package managers is more often than not (please bear with my point) considered an anti-pattern, because both of them provide solutions [2][3][4], like a project's declarative list of dependencies along with a baseline (but often, overridable) conflicting-version-resolution algorithm. Of course, the more I understand the issue, the more questions I have. Why does Go h
Read the rest
ave multiple, competing package managers? Some, like Glide [5] (without judgements about all the others), encourage the type of declarative version management I quoted. Why does Go even ship with built-in package fetcher 'go get'? Why would anyone ever build a package fetcher for a publicly-released ecosystem that has no concept of versions or commit-IDs or content-adressed-hashes, or some other mechanism of tracking state to something that's as inherently mutable as a software package? I have no desire to point fingers, and I don't want to encourage bikeshedding, and I don't want to turn this sub-thread into an in-band debate, as I'm certain it's been done (over and over again) in the past, I just simply feel that 'go get' is fundamentally broken in its understanding of how people in the wild actually write software. I'm suddenly beginning to understand why there are concerted efforts [6][7][8] to address this issue in a community-led, officially-sanctioned way. [1] http://stackoverflow.com/questions/35109393/ [2] http://maven.apache.org/guides/introduction/introduction-to-... [3] https://github.com/ning/maven-dependency-versions-check-plug... [4] http://bytearcher.com/articles/semver-explained-why-theres-a... [5] https://github.com/Masterminds/glide [6] https://docs.google.com/document/d/18tNd8r5DV0yluCR7tPvkMTsW... [7] https://docs.google.com/document/d/1M4Ldgtxr9vC8wpyTldQe5oUy... [8] https://github.com/sdboyer/gps/wiki/Rationale
In Go Packaging Proposal Process
If you're not a fan of submodules, but are in need of a this kind of tool, I'd recommend looking at `glide` [1] . I've had much better experiences, as a user, with `glide` than other tools, and it supports package aliasing which is really helpful. (Package aliasing allows for satisfying an import path with a private fork of a package, without having to rewrite all the import statements inside my fork.) [1]: https://github.com/Masterminds/glide
In [dead]
Python is high level language while Go is low, system level language (I think it’s fair to say it’s C 2.0). 95% of asciinema codebase is high level code... I get this sentiment. There's an attitude among golang developers that things which are "trivial" to implement don't belong in the go standard library (even if they would see high usage). That, and Go's animosity toward generic code and syntax sugar make me feel like I'm fiddling with nuts and bolts sometimes. For example, Go stubbornly excludes a math.Round() function from it's math package because "the bar for being useful needs to be pretty high" (this comment was followed by several buggy implementations of the method[1]). Go excludes integer math functions, and the lack of generics means I have to cast to float64 or write my own implementation everywhere. Go’s lack of versioned pa
Read the rest
ckages and central repository makes packaging cumbersome. One of the big headscratchers of the golang ecosystem. It's resulted in a million different package managers and ridiculous tools that rewrite all of your imports for you. My favorite method of managing requirements now is glide[2] which pins all of your dependencies (to a git commit or tag) in a glide.lock file. Glide fetches dependencies into the vendor directory, but you never need to commit your vendored dependencies. Instead, commit the glide.lock file and glide can fetch everything for you. ---- 1. https://github.com/golang/go/issues/4594#issuecomment-660733... 2. https://github.com/Masterminds/glide
In Asciinema 1.3 Switches from Go Back to Python
Composer (or the alternatives for other languages) do more than the vendor/ directories do. Those tools manage the versions in the directories which are important for compatibility, ensuring versions around security issues, and so on. Glide[1] is a tool like Composer but for Go and it uses the vendor/ directory. It's designed to complement the go commands. disclosure: I'm one of the glide devs [1] https://github.com/Masterminds/glide
In Go 1.6 Beta Released
Coming from npm, composer, bundler, and utilities like those I wasn't entirely happy with Godep. Instead there's Glide[1]. Sure, Godep lets you save and restore dependencies to your GOPATH. But, what if different projects with different versions of dependencies? Or, what if you want to track to branches? There's a reason npm, bundler, and composer are popular. They are useful. That's why I've become a happy glide user (and contributor). Just my 2 cents. [1] https://github.com/Masterminds/glide
In Godep for End User Go Projects

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.