第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Docker 在 go.mod 文件中找不到依賴項(xiàng)

Docker 在 go.mod 文件中找不到依賴項(xiàng)

Go
qq_遁去的一_1 2023-06-12 09:53:17
我在一個(gè)使用GoLang和Docker 的項(xiàng)目中工作,并使用 go.mod 來(lái)維護(hù)依賴關(guān)系。當(dāng)我在沒(méi)有 docker 的情況下構(gòu)建時(shí),該項(xiàng)目工作正常,但是當(dāng)我嘗試構(gòu)建 docker 圖像時(shí),出現(xiàn)此錯(cuò)誤:internal/server/server.go:8:2: cannot find package "github.com/gorilla/mux" in any of:        /usr/local/go/src/github.com/gorilla/mux (from $GOROOT)        /go/src/github.com/gorilla/mux (from $GOPATH)cmd/root.go:7:2: cannot find package "github.com/spf13/cobra" in any of:        /usr/local/go/src/github.com/spf13/cobra (from $GOROOT)        /go/src/github.com/spf13/cobra (from $GOPATH)make: *** [Makefile:30: build] Error 1文件# Build StageFROM lacion/alpine-golang-buildimage:1.9.7 AS build-stageLABEL app="build-status-hub"LABEL REPO="https://github.com/MSLacerda/status-hub"ENV PROJPATH=/go/src/github.com/MSLacerda/status-hub# Because of https://github.com/docker/docker/issues/14914ENV PATH=$PATH:$GOROOT/bin:$GOPATH/binADD . /go/src/github.com/MSLacerda/status-hubWORKDIR /go/src/github.com/MSLacerda/status-hubRUN make buildDockerfile其實(shí)有更多的指令,但我只把控制臺(tái)顯示錯(cuò)誤的部分放在這里。生成文件build:    @echo "building ${BIN_NAME} ${VERSION}"    @echo "GOPATH=${GOPATH}"    go build -ldflags "-X github.com/MSLacerda/status-hub/version.GitCommit=${GIT_COMMIT}${GIT_DIRTY} -X github.com/MSLacerda/status-hub/version.BuildDate=${BUILD_DATE}" -o bin/${BIN_NAME}go.modmodule github.com/MSLacerda/status-hubrequire (    github.com/Sirupsen/logrus v1.0.6    github.com/gorilla/mux v1.7.0    github.com/spf13/cobra v0.0.3    github.com/spf13/viper v1.2.0    golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2 // indirect)
查看完整描述

1 回答

?
蕭十郎

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊

什么是快樂(lè)?

當(dāng)您嘗試構(gòu)建應(yīng)用程序時(shí),docker 映像中未安裝所需的 deps

為什么它出現(xiàn)在 docker 鏡像中而不是在我的本地開(kāi)發(fā)環(huán)境中?

在您的本地開(kāi)發(fā)環(huán)境中,您安裝/獲取所需的 deps 運(yùn)行命令,如下例所示。

$?go?get?-u?github.com/go-swagger/go-swagger/cmd/swagger

但是每個(gè)容器/圖像都將是一個(gè)空的/干凈的環(huán)境。您需要告知首先安裝 deps 所需的 docker 容器。

解決方案

  • 使用 Makefile 為您的項(xiàng)目創(chuàng)建任務(wù)/命令。

  • 創(chuàng)建一個(gè) make file 命令來(lái)安裝 deps 并構(gòu)建項(xiàng)目

生成文件示例

.PHONY:?setup
setup:?@echo?Installing?dependencies:?
???go?get?-u?github.com/go-swagger/go-swagger/cmd/swagger

.PHONY:?build
build:?setup?
???go?build?-o?$(BINARY)?$(APP_FILE)
  • make build然后需要調(diào)用該命令來(lái)創(chuàng)建您的圖像,而不是當(dāng)前使用的 go build。

  • 不要使用go get每個(gè)依賴項(xiàng)的命令,而是使用 go dep 管理器來(lái)執(zhí)行它。按照這個(gè)例子。

生成文件

.PHONY:?setup
setup:?@echo?Installing?dependencies:
????dep?ensure
查看完整回答
反對(duì) 回復(fù) 2023-06-12
  • 1 回答
  • 0 關(guān)注
  • 319 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)