Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Deleted user
Level
0 / 0 points
Next:
badges earned

Your Points Tracker
Challenges
Leaderboard
  • Global
  • Feed

Badge for your thoughts?

You're enrolled in our new beta rewards program. Join our group to get the inside scoop and share your feedback.

Join group
Recognition
Give the gift of kudos
You have 0 kudos available to give
Who do you want to recognize?
Why do you want to recognize them?
Kudos
Great job appreciating your peers!
Check back soon to give more kudos.

Past Kudos Given
No kudos given
You haven't given any kudos yet. Share the love above and you'll see it here.

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

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

3 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"

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Bitbucket

Calling any interview participants for Bitbucket Data Center

Hi everyone,  We are looking to learn more about development teams’ workflows and pain points, especially around DevOps, integrations, administration, scale, security, and the related challeng...

477 views 5 4
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you