Go Get для Google Cloud Source Repository
Делая два разных go
модули
source.cloud.google.com/me/a
source.cloud.google.com/me/b
С source.cloud.google.com/me/common
как общая зависимость от lib (чтобы поделиться моделью)
Я пытаюсь go get source.cloud.google.com/me/common
(даже вручную написал это в go.mod
файл), но я продолжаю получать следующую ошибку:
package source.cloud.google.com/me/common:
unrecognized import path "source.cloud.google.com/me/common"
(parse https://source.cloud.google.com/me/common?go-get=1: no go-import meta tags ())
я имею gcloud
настроить, чтобы иметь возможность использовать app deploy
и создавать новые исходные репозитории. Я пытался настроить ssh
для Google Cloud и попытался использовать учетные данные вручную. Это не работает ни локально, ни в облачной службе сборки Google.
Я хочу сделать две вещи:
- Быть способным
go get
эта зависимостьsource.cloud.google.com/me/common
- Быть в состоянии интегрировать это
go get
в мой App Engine автоматизированный конвейер сборки.
Любая помощь будет оценена.
3 ответа
- Настроить репо на https://source.cloud.google.com/
- Разрешить ручной доступ к git https://source.developers.google.com/p/YOUR_PROJECT_ID/r/YOUR_REPO В этом примере: https://source.developers.google.com/p/m/r/common
- Ваш
common
модуль должен выглядеть какsource.developers.google.com/p/m/r/common.git
- Запустить:
go get source.developers.google.com/p/m/r/common.git
на другом модуле
Я бы попробовал следующие шаги:
- Убедитесь, что у него есть ручной доступ к git - вы можете попробовать клон git из папки «a», чтобы проверить правильность доступа git. Удалите его после клонирования.
- Убедитесь, что вы используете HTTP - похоже, вы хороши в этом отношении - go1.14 сделал HTTP по умолчанию для go get.
- Теперь перейдем к реальной проблеме - похоже, что ваши частные системы контроля версий не отправляют требуемый метатег «go-import».
Например - обратитесь к любому модулю github go, вы увидите метатег "go-import":
Чтобы исправить это, сервер VCS должен ответить этим тегом, когда
go get
пытается загрузить "общий" модуль
<meta name="go-import" content="source.cloud.google.com/me/common git https:source.cloud.google.com/me/common">
Это работает:got get source.developers.google.com/p/YOUR_PROJECT_ID/r/YOUR_REPO.git