Как я могу использовать модули Go для извлечения зависимости по хешу или ветке коммита? - PullRequest
3 голосов
/ 21 апреля 2019

Я пытаюсь обновить свой проект, чтобы использовать модули Go для управления зависимостями. Я узнаю в этом новую / экспериментальную функцию. Я получаю сообщение об ошибке: cannot find module providing package.

Мой go.mod в настоящее время читает:

require (
    github.com/bugsnag/bugsnag-go v1.5.1
    github.com/bwmarrin/discordgo v0.19.0
    github.com/jonas747/dshardmanager v0.0.0-20180911185241-9e4282faed43
)

Мой Dockerfile:

FROM golang:1.12-alpine
RUN mkdir /app
WORKDIR /app
ADD src/ /app

ENV CGO_ENABLED=0

# Building requires git because we're pulling a dependency by commit hash
RUN apk add --no-cache --update git \
    && go build ./... \
    && apk del git

CMD ["/app/main"]

При сборке происходит сбой:

cannot load github.com/bugsnag/panicwrap: cannot find module providing package github.com/bugsnag/panicwrap

Когда я смотрю на https://github.com/bugsnag/bugsnag-go, я не вижу файл go.mod. Указывает ли эта ошибка, что эта зависимость не поддерживает модули?

1 Ответ

0 голосов
/ 21 апреля 2019

Вы делаете что-то не так, потому что это работает.Для работы с go.mod приложениями не требуется go.mod:

nrxr at lise in ~/code/src/github.com/nrxr/stack
$ go mod init
go: creating new go.mod: module github.com/nrxr/stack

nrxr at lise in ~/code/src/github.com/nrxr/stack
$ go get github.com/bugsnag/bugsnag-go
go: finding github.com/bugsnag/bugsnag-go v1.5.1
go: downloading github.com/bugsnag/bugsnag-go v1.5.1
go: extracting github.com/bugsnag/bugsnag-go v1.5.1
go: finding github.com/bugsnag/panicwrap v1.2.0
go: downloading github.com/bugsnag/panicwrap v1.2.0
go: finding github.com/gofrs/uuid v3.2.0+incompatible
go: downloading github.com/gofrs/uuid v3.2.0+incompatible
go: extracting github.com/bugsnag/panicwrap v1.2.0
go: extracting github.com/gofrs/uuid v3.2.0+incompatible
go: finding github.com/kardianos/osext latest
go: downloading github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0
go: extracting github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0

nrxr at lise in ~/code/src/github.com/nrxr/stack
$ cat go.mod
module github.com/nrxr/stack

go 1.12

require (
        github.com/bugsnag/bugsnag-go v1.5.1 // indirect
        github.com/bugsnag/panicwrap v1.2.0 // indirect
        github.com/gofrs/uuid v3.2.0+incompatible // indirect
        github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect
)

Может быть, попробуйте еще раз?Попробуйте с тем, что я только что использовал здесь.

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