We can use go get to install a module from our private repo.
Say we have a private repo gomath that is hosted in gitlab under url: https://gitlab.com/yourname/gomath:
File math.go:
package gomath
func Double(a int) int {
return a * 2
}
Now in your other Go module you want to install this package, you need to do 2 things:
- Set the
GOPRIVATEenv variable - Set
git configto let git know your personal access token in gitlab. You can get the token from gitlab > preferences > Access Tokens. Make sure your token has the "read_repository" scope.
File config.sh:
#!/usr/bin/env bash
go env -w GOPRIVATE=https://gitlab.com/yourname/gomath
git config \
--global \
url."https://<yourname>:<personal access token from gitlab>@gitlab.com".insteadOf \
"https://gitlab.com"
Run this script:
$ bash config.sh
Now under your Go module, you can just use go get like normal:
$ go get https://gitlab.com/yourname/gomath
Then use it in main.go:
package main
import (
"fmt"
"gitlab.com/yourname/gomath"
)
func main() {
num := 2
result := gomath.Double(num)
fmt.Println("result:", result)
}
Top comments (0)