Как сказать моей сборке go искать в папке vendor библиотеки godep? - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть простой Dockerfile, который я пытаюсь собрать и запустить на своем сервере Go REST API.

Мой Dockerfile до сих пор:

FROM golang:latest
RUN mkdir /app
ADD . /app/
WORKDIR /app
RUN go build -o main .
CMD ["/app/main"]

Когда я запускаю docker-compose up, я получаю эту ошибку:

main.go:12:2: cannot find package "github.com/bradfitz/gomemcache/memcache" in any of:

Я использую godeps, и в моей папке vendor есть все продаваемые библиотеки, почему сборка не работает в этом случае?

Нужно ли указывать, чтобы он смотрел в папке продавца?

1 Ответ

0 голосов
/ 06 сентября 2018

Каталог vendor не работает должным образом, если ваш исходный код находится за пределами GOPATH (см. https://github.com/golang/go/issues/14566). В текущем golang:latest образе Docker, GOPATH установлен на /go, поэтому самое простое решение - скопировать ваш код в подкаталог /go/src и собрать его оттуда.

...