亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否可以使用“go mod tidy”來清除除間接依賴項之外未使用的依賴項?

是否可以使用“go mod tidy”來清除除間接依賴項之外未使用的依賴項?

Go
元芳怎么了 2022-08-09 20:36:28
我知道這是通過刪除不必要的依賴關系樹來修剪依賴關系樹的預期行為,但我的CI的一部分用于生成swagger文件。所以,最后。 將從文件中刪除包,因為它們被列為(它們不是直接從源代碼中使用的)。是否有解決方法?go mod tidygo-swaggerJSONgo mod tidygo-swaggergo.mod//indirect這是我的文件:go.mod...require (    github.com/go-openapi/errors v0.20.0 // indirect    github.com/go-openapi/validate v0.20.2 // indirect    github.com/go-swagger/go-swagger v0.26.1 // indirect    github.com/gorilla/mux v1.8.0    github.com/mailru/easyjson v0.7.7 // indirect    github.com/spf13/afero v1.5.1 // indirect    golang.org/x/mod v0.4.1 // indirect    golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d // indirect    golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43 // indirect    golang.org/x/tools v0.1.0 // indirect)在我運行之后,只剩下這個:go mod tidy    github.com/gorilla/mux v1.8.0但是,我在生產環境中運行的Makefile上有以下目標:$ swagger generate spec -o ./internal/ui/swagger.json我有點想避免在運行后顯式調用全局。你們對如何解決這個問題有什么建議嗎?go getgo-swaggergo tidy
查看完整描述

2 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

我懷疑一種解決方法是:

  • 在其中一個項目源 .go 文件中顯式導入包github.com/go-swagger/go-swagger/scan

  • 定義虛擬變量

    var _ = scan.Parse

這樣,您的來源將直接“使用”,這將不再通過去mod tidy修剪。github.com/go-swagger/go-swagger

我會在名為 的go文件中這樣做,只是為了記住為什么需要這個假導入。externalTools.go


查看完整回答
反對 回復 2022-08-09
?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

使用 go install 來安裝 swagger 而不影響 go.mod。


在你有一個單獨的目標,安裝swagger deps,然后運行它。我們的安排如下:Makefile


ROOT := $(PWD)

DIST := ${ROOT}/dist


# Could be /go or ${HOME}/go depending on build environment

export GOPATH := ${ROOT}/go


.PHONY: swagger


all: $(DIST)/app swagger


swagger: $(GOPATH)

    go install -v github.com/go-swagger/go-swagger/cmd/swagger@latest

    $(GOPATH)/bin/swagger version

    $(GOPATH)/bin/swagger generate spec -o ./swagger-ui/swagger.json -m


$(DIST)/app: $(DIST) $(GOPATH)

    go build -v -o $(DIST)/app ./cmd/...


$(DIST):

    mkdir -p $(DIST)


$(GOPATH):

    mkdir -p $(GOPATH)


查看完整回答
反對 回復 2022-08-09
  • 2 回答
  • 0 關注
  • 254 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號