5 ms·
Gigo: Pip for Go
- cik 11y agoI love the ability to go get things... but from a multi-component perspective, go-get doesn't really work with our environment, specifically the notion of multiple deploy keys, private repositories or hyper-componentized go codebases. So, our awesome co-op wrote gigo. Over time, we'll extend it (or hey, pull request!) it to do other, better things. But for now, it makes fetching private repositories a breeze, in the laziest/happiest way we could possibly think of. Hope someone else finds this useful.
- cik 11y agoI'm going to reply to myself, since a friend asked about vendoring. Our current flow is just to privately (and occasionally publicly) fork something that we care about - to solve the vendoring issue. I could easily see vendoring original sources for builds within gigo, that way we use something like bruise to make it easy to support a virtualenv-like thing for golang. But today, that's not the problem we had.
- Queue29 11y agoadd it to the list https://github.com/golang/go/wiki/PackageManagementTools https://github.com/golang/go/wiki/PackageManagementTools
- kolev 11y agoPip is bad advertising - it's probably the worse package manager compared to, let's say, NPM.
- mrharrison 11y agoWhy is it bad advertising? Pip works all the time for me, where NPM often doesn't work.
- ffn 11y agoWhy doesn't NPM work for you? If it's an user-permission thing (which is common if you installed node straight-up), consider installing nodejs using NVM (node version manager). This also has the advantage that you don't have to sudo npm.
- manghoti 11y agoI've had issues with NPM in the past due to having a proxy server on our network, and dealing with some absurdly arcane errors t oresolve it. The only package manager that I've ever had a problem with. That said, I don't tend to use node.js, so NPM's virtues illude me.
- mrharrison 11y agoI usually have to google two to three errors that popup on an npm install --save to get things working and sometimes I don't. Its quite inconsistent, but these issues are probably with node versioning as well. In any case I never have this issue with pip.
- rhodysurf 11y agoWhat makes it bad? It just works.
- kolev 11y ago"It just works" isn't an argument. Of course it works, but it doesn't work as nicely as NPM, RubyGems, and others.
- mickgardner 11y agoThere is a huge number of go package management tools being developed at the moment. It seems like there's a new one each day! I'm hoping the Golang developers can pay attention to what's going on in the community and propose a more official solution? I realise they recently proposed 'vendoring' but the Golang community seems to have mostly ignored that suggestion.
- jzelinskie 11y agoIf you're going to make another tool like this, you _need_ to make it immediately obvious about how it improves on the experience provided by godep[0] which has basically become the standard tool for dependency management in Go. [0]: https://github.com/tools/godep https://github.com/tools/godep