Как исправить «неверную версию» и «не удалось прочитать имя пользователя» в «go get» частного хранилища? - PullRequest
0 голосов
/ 07 марта 2020

Я хочу использовать частные репозитории, размещенные на GitHub, в другом GoLang -проекте.

Что я сделал:

  1. Я создал токен частного доступа на своем GitHub настройки учетной записи
  2. сделал тогда:

    git config --global url. "https://xxxxxx:ACCESS_TOKEN@github.com". Вместо этого "https://github.com "

с" xxxxxx "в качестве моего реального имени пользователя GitHub, а затем с соответствующим ACCESS_TOKEN.

go get github.com/private/repo

Однако я всегда получаю следующую ошибку:

go: downloading github.com/xxxxxxxx/yyyyyyyyy-go-sdk v0.0.0-20200307154628-cbcb73911013
go get github.com/xxxxxxxx/yyyyyyyyy-go-sdk: github.com/xxxxxxxx/yyyyyyyyy-go-sdk@v0.0.0-20200307154628-cbcb73911013: verifying module: github.com/xxxxxxxx/yyyyyyyyy-go-sdk@v0.0.0-20200307154628-cbcb73911013: reading https://sum.golang.org/lookup/github.com/xxxxxxxx/yyyyyyyyy-go-sdk@v0.0.0-20200307154628-cbcb73911013: 410 Gone
    server response:
    not found: github.com/xxxxxxxx/yyyyyyyyy-go-sdk@v0.0.0-20200307154628-cbcb73911013: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /tmp/gopath/pkg/mod/cache/vcs/5eca4f397ed3a418f58ee864965ed24936e21268780304d6941f5b3983d31ad1: exit status 128:
        fatal: could not read Username for 'https://github.com': terminal prompts disabled

Я также пробовал следующее:

GONOSUMDB = github. com / myusername go get github.com/xxxxxx/yyy...

И в соответствии с некоторыми ответами в StackOverflow для похожих проблем я попытался добавить ". git" после URL репо. Но это не сработает вообще.

Что это может быть и как я могу это исправить?

Версии:

♠ git --version
git version 2.25.0
hub version 2.14.2

♠ go версия 1.14

Ответы [ 2 ]

2 голосов
/ 07 марта 2020

У меня есть решение, которое может помочь. эта проблема возникает в Golang версии выше 1.13. Это происходит, когда мы используем частный модуль в нашем проекте. Из-за выполнения команды Go Get, golang выполнит контрольную сумму прокси. Поэтому альтернативой является добавление в вашу среду GOPRIVATE среды.

export GOPRIVATE="github.com/private/repo"

Или, если она не работает, попробуйте добавить среду GONOPROXY.

export GONOPROXY="github.com/private/repo"
1 голос
/ 07 марта 2020

Вы в основном все сделали правильно и только забыли еще один важный шаг.

Вы должны указать Go не проверять контрольные суммы, поскольку вы работаете с собственными частными репозиториями:

go env -w GOPRIVATE=github.com/mycompany/*

Замените mycompany своим именем пользователя на github или именем вашей компании, и go get, скорее всего, будет работать как положено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...