A dependency manager for Go (golang), inspired by Bundler. It is different from other dependency managers in that it does not force you to mess with your GOPATH.
Getting Started
Install Goop: go get github.com/nitrous-io/goop
Create Goopfile. Revision reference (e.g. Git SHA hash) is optional, but recommended. Prefix hash with #. (This is to futureproof the file format.)
Run goop install. This will install packages inside a subdirectory called .vendor and create Goopfile.lock, recording exact versions used for each package. Subsequent goop install runs will ignore Goopfile and install the versions specified in Goopfile.lock. You should check this file in to your source version control. It's a good idea to add .vendor to your version control system's ignore settings (e.g. .gitignore).
Run commands using goop exec (e.g. goop exec go run main.go). This will execute your command in an environment that has correct GOPATH and PATH set.
Go commands can be run without the exec keyword (e.g. goop go test).
Other commands
Run goop update to ignore an existing Goopfile.lock, and update to latest versions of packages (as specified in Goopfile).
Running eval $(goop env) will modify GOPATH and PATH in current shell session, allowing you to run commands without goop exec.
Caveat
Goop currently only supports Git and Mercurial. This should be fine for 99% of the cases, but you are more than welcome to make a pull request that adds support for Subversion and Bazaar.
Copyright (c) 2014 Irrational Industries, Inc. d.b.a. Nitrous.IO.
This software is licensed under the MIT License.