I started working on a Go
project and it uses some private modules from Github private repos and whenever I try to run go run main.go
it gives me a
Just a follow up on the usage of ssh, this is the command used to get it working:
GitHub:
git config --global url."git@github.com:".insteadOf "https://github.com/"
Bitbucket:
git config --global url."git@bitbucket.org:".insteadOf "https://bitbucket.org/"
go env -w GOPRIVATE=github.com/repoURL/private-repo
OR
If you want to allow all private repos from your organization
go env -w GOPRIVATE=github.com/<OrgNameHere>/*
Check "Module configuration for non-public modules" for more information:
The GOPRIVATE environment variable controls which modules the go command considers to be private (not available publicly) and should therefore not use the proxy or checksum database. The variable is a comma-separated list of glob patterns (in the syntax of Go's path.Match) of module path prefixes. For example,
GOPRIVATE=*.corp.example.com,rsc.io/private
causes the go command to treat as private any module with a path prefix matching either pattern, including git.corp.example.com/xyzzy, rsc.io/private, and rsc.io/private/quux.
. .
The 'go env -w' command (see 'go help env') can be used to set these variables for future go command invocations.
If you use ssh to access git repo (locally hosted), you might want to add the following to your ~/.gitconfig
:
[url "ssh://git@git.local.intranet/"]
insteadOf = https://git.local.intranet/
for the go
commands to be able to access the git server.