Учитывая, что у меня есть некоторый опыт работы с Docker-контейнерами, я решил использовать Docker-контейнеры, чтобы создать среду и учиться.Ниже приведен мой dockerfile для веб-приложения go.
FROM golang:1.12.0-alpine3.9 as base
ARG GO111MODULE=on
RUN apk update && apk add make bash git
COPY ./app /go/src/app
WORKDIR /go/src/app
RUN go build
COPY ./compose/local/golang/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
RUN go get github.com/oxequa/realize
ENTRYPOINT [ "/entrypoint.sh" ]
CMD ["realize", "start"]
Мой файл go.mod
module github.com/rajeshyogeshwar/demoapp
go 1.12
require (
github.com/Sirupsen/logrus v1.0.6
github.com/joho/godotenv v1.3.0
github.com/julienschmidt/httprouter v1.2.0
github.com/lib/pq v1.0.0
github.com/spf13/cobra v0.0.3
github.com/spf13/viper v1.2.0
)
и, наконец, структура папок моего проекта
![enter image description here](https://i.stack.imgur.com/RKJOT.png)
Как мы видим, я пытаюсь использовать модуль httprouter, и он был определен в моем файле go.mod.Но я продолжаю получать следующую ошибку.
app_1 | [06:46:56][APP] : Install
app_1 | main.go:8:2: cannot find package "github.com/julienschmidt/httprouter" in any of:
app_1 | /usr/local/go/src/github.com/julienschmidt/httprouter (from $GOROOT)
app_1 | /go/src/github.com/julienschmidt/httprouter (from $GOPATH)
Так что, если кто-то может указать на очевидную ошибку, было бы здорово.