Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,559,701
Community Members
 
Community Events
185
Community Groups

How do I run go get on a private repo

I have two Go repos. One called foo - which is a package, and one called bar - which pulls in foo as a dependency.

Because of Go's archaic (a more appropriate description is probably against community guidelines) package management system, you have to specify the full domain name of a package that you pull in - so in my file `bitbucket.org/ae-ou/bar/cmd/main.go`, I have:

import "bitbucket.org/ae-ou/foo"

I initially had an issue where I was getting this output

go get bitbucket.org/ae-ou/foo: reading https://api.bitbucket.org/2.0/repositories/ae-ou/foo?fields=scm: 403 Forbidden
server response: Access denied. You must have write or admin access.

After looking up the output, several sites told me to run the following to force a connection via SSH:

git config --global url."git@bitbucket.org:".insteadOf "https://bitbucket.org/"

When I run `go get` to pull in the foo dependency, I now get a slightly different error:

go: downloading bitbucket.org/ae-ou/foo v0.1.0
go get bitbucket.org/ae-ou/foo: bitbucket.org/ae-ou/foo@v0.1.0: verifying module: bitbucket.org/ae-ou/foo@v0.1.0: reading https://sum.golang.org/lookup/bitbucket.org/ae-ou/foo@v0.1.0: 410 Gone
server response:
not found: bitbucket.org/ae-ou/foo@v0.1.0: reading https://api.bitbucket.org/2.0/repositories/ae-ou/foo?fields=scm: 403 Forbidden

It does seem to be finding and accessing my foo repo because the latest tag in it is 0.1.0, but the go get command is still failing due to a 403. I know for certain that I don't lack permissions on my SSH key, because I use that SSH key to push to/pull from Bitbucket all the time.

 

 

1 answer

1 accepted

6 votes
Answer accepted

Resolved. I had to restart the SSH agent in order for the .gitconfig change to take effect.

I was then faced with the following issue:

main.go:5:2: bitbucket.org/ae-ou/foo@v0.1.0: verifying module: bitbucket.org/ae-ou/foo@v0.1.0: reading https://sum.golang.org/lookup/bitbucket.org/ae-ou/foo@v0.1.0: 410 Gone

This is something that I'd addressed before - for those facing the same issue,  it's just a matter of exporting a variable to prevent Go from looking up the repo in sum.golang.org - as follows:

export GOPRIVATE="bitbucket.org/ae-ou"

Hi, even with the GOPRIVATE setup correctly, I Still get 410 Gone error and go  checks the sum.golang.org still. Any ideas? I am running on Win.

thanks

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events