Getting started on Gemfury with Go Modules

Install packages with Go

Go toolkit uses a central proxy to collect a project’s dependencies. By default, it is configured to the public proxy run by Go’s patron-company (Google).

When you reconfigure your Go tooling to use Gemfury, our blending-proxy will first look for named packages in your Gemfury account with the fallback to the public proxy for packages not found there.1

Set the following environment variables to configure Go to use Gemfury. This can be done in your terminal before running go or in a start-up shell script like $HOME/.profile:

$ export GOPROXY=https://TOKEN@go-proxy.fury.io/USERNAME/
$ export GOPRIVATE="git.fury.io/USERNAME/*"
$ export GONOPROXY=none

Once you have this configuration in place, start your build:

$ go build ./...

Please note that GOPRIVATE specifies the match pattern for the names of your private modules, and does not have to be a “fury.io” URL. Please adjust it to match the names of modules you upload to Gemfury.


  1. Go does not support splitting public and private requests between two proxies. ↩︎