Trash alternatives and similar packages
Based on the "Package Management" category.
Alternatively, view Trash alternatives based on common mentions on social networks and blogs.
dep9.8 1.6 Trash VS depGo dependency tool.
glide9.5 0.0 Trash VS glidePackage Management for Golang
godep9.4 0.0 Trash VS godepdependency tool for go, godep helps build packages reproducibly by fixing their dependencies.
govendor9.3 0.4 Trash VS govendorGo Package Manager. Go vendor tool that works with the standard vendor file.
gopm8.7 0.0 Trash VS gopmGo Package Manager
gom7.9 0.0 Trash VS gomGo Manager - bundle for go
virtualgo7.7 0.0 Trash VS virtualgoVirtualgo: Easy and powerful workspace based development for go
gpm7.6 0.0 Trash VS gpmBarebones dependency manager for Go.
gvt7.3 0.0 Trash VS gvtgvt is a simple vendoring tool made for Go native vendoring (aka GO15VENDOREXPERIMENT), based on gb-vendor.
goop7.1 0.0 Trash VS goopA simple dependency manager for Go (golang), inspired by Bundler.
MANUL6.9 0.0 Trash VS MANUL:smirk_cat: The madness vendoring utility for Golang programs
modgv6.3 0.0 Trash VS modgvConverts 'go mod graph' output into Graphviz's DOT language
nut5.4 0.0 Trash VS nutVendor Go dependencies
johnny-deps5.4 0.0 Trash VS johnny-depsBarebones dependency manager for Go.
gigo5.3 0.0 Trash VS gigoPIP-like dependency tool for golang, with support for private repositories and hashes.
mvn-golang5.2 4.6 Trash VS mvn-golangmaven plugin to automate GoSDK load and build of projects
gup5.0 0.0 Trash VS gupgup - Update binaries installed by "go install" with goroutines.
VenGO4.6 0.0 Trash VS VenGOCreate and manage Isolated Virtual Environments for Go
gop3.5 0.0 Trash VS gopBuild and manage your Go applications out of GOPATH
go modulesModules are the unit of source code interchange and versioning. The go command has direct support for working with modules, including recording and resolving dependencies on other modules.
Static code analysis for 29 languages.
Do you think we are missing an alternative of Trash or a related project?
Trash - Go ./vendor manager
Keeping the trash in your ./vendor dir to a minimum.
How to use
Make sure you're using go1.6 or later version.
- Download and extract latest release to your PATH.
Alternatively, install or update current development version with
go get -u github.com/rancher/trash.
vendor.conffile to your project and edit to your needs.
vendor.conf (in your project root dir) specifies the revisions (git tags or commits, or branches - if you're drunk) of the libraries to be fetched, checked out and copied to ./vendor dir. For example:
github.com/rancher/trash github.com/Sirupsen/logrus v0.8.7 https://github.com/imikushin/logrus.git github.com/codegangsta/cli b5232bb github.com/cloudfoundry-incubator/candiedyaml 5a459c2
Or, in YML format:
import: - package: github.com/Sirupsen/logrus # package name version: v0.8.7 # tag or commit repo: https://github.com/imikushin/logrus.git # (optional) git URL - package: github.com/codegangsta/cli version: b5232bb2934f606f9f27a1305f1eea224e8e8b88 - package: github.com/cloudfoundry-incubator/candiedyaml version: 55a459c2d9da2b078f0725e5fb324823b2c71702
trash to populate ./vendor directory and remove unnecessary files. Run
trash --keep to keep all checked out files in ./vendor dir.
I really liked glide, it's like a real package manager: specify what you need, run
glide up and enjoy your updated libraries. But it didn't help with a couple problems I had:
- All necessary library code should be vendored and checked into project repo (as imposed by the project policy)
- Unnecessary code should be removed
for great justicefor smaller git checkouts and faster
I'd been slightly reluctant to the idea of writing it, but apparently the world needed another package manager: "Come on, it's just going to be 300 (okay, it's ~600) lines of Go!" Thanks to @ibuildthecloud for the idea.
For the world's convenience,
trash can detect glide.yaml (and glide.yml, as well as trash.yaml) and use that instead of vendor.conf (and you can Force it to use any other file). Just in case, here's the program help:
$ trash -h NAME: trash - Vendor imported packages and throw away the trash! USAGE: trash [global options] command [command options] [arguments...] VERSION: v0.2.7 AUTHOR(S): @imikushin, @ibuildthecloud COMMANDS: help, h Shows a list of commands or help for one command GLOBAL OPTIONS: --file value, -f value Vendored packages list (default: "vendor.conf") --directory value, -C value The directory in which to run, --file is relative to this (default: ".") --target value, -T value The directory to store results (default: "vendor") --keep, -k Keep all downloaded vendor code (preserving .git dirs) --update value, -u value specify a list of packages to be updated --insecure Pass -insecure to 'go get' --debug, -d Debug logging --cache value Cache directory (default: "/Users/ivan/.trash-cache") [$TRASH_CACHE] --include-vendor whether to include vendor when running trash -k --help, -h show help --version, -v print the version