https://github.com/ericchiang/godl
Yet another Go package manager
https://github.com/ericchiang/godl
Last synced: over 1 year ago
JSON representation
Yet another Go package manager
- Host: GitHub
- URL: https://github.com/ericchiang/godl
- Owner: ericchiang
- License: mit
- Created: 2017-05-07T21:17:55.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-06-04T21:31:06.000Z (about 9 years ago)
- Last Synced: 2025-01-25T07:24:33.622Z (over 1 year ago)
- Language: Go
- Size: 926 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# godl - Download projects to you vendor directory
godl is a Go vendoring tool that optimizes for making small changes to a project's dependencies (e.g. updating a single dependency).
Unlike other tools, godl doesn't do analysis of dependencies, inspect source files, or interact with your GOPATH. Packages are downloaded one at a time so you can modify a single dependency without performing expensive operations like re-downloading all packages or performing static analysis on a large repo.
```terminal
godl init
godl get golang.org/x/net feeb485667d1fdabe727840fe00adc22431bc86e
godl get gopkg.in/square/go-jose.v2 v2.1.0
godl get github.com/spf13/cobra # Defaults to latest
```
## FAQ
Q: Since godl won't do it for me, how do I list all my projects dependencies?
A: Use go list.
```terminal
go list -f '{{.Deps}}' | tr "[" " " | tr "]" " " | xargs go list -f '{{if not .Standard}}{{.ImportPath}}{{end}}'
```
Q: How do I download private repos?
A: Use the `--remote` flag to manually specify the remote repo.
```terminal
godl get gopkg.in/square/go-jose.v2 v2.1.0 --remote git@github.com:square/go-jose.git
```
Subsequent calls to `godl get` that omit the `--remote` flag will default to the previous value.