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

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

如何讓 dep ensure 刪除未使用的 Go 文件、依賴項或包

如何讓 dep ensure 刪除未使用的 Go 文件、依賴項或包

Go
三國紛爭 2023-05-15 14:30:35
使用添加新的依賴項時,dep ensure -add <package>我看到dep添加了包的完整存儲庫,而不僅僅是我需要的部分。例如,我添加了aws-sdk-go并將dep ensure87MB 的文件放入我的 vendors 文件夾中,即使我只使用 AWS Secrets Manager 服務。
查看完整描述

1 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

要解決這個問題,您需要定義[prune]一些設置來確定哪些文件和目錄可以被認為是不必要的,從而自動從 vendor/ 中刪除。

當前提供以下選項:

  • unused-packages指示應刪除未出現在包導入圖中的目錄中的文件

  • non-go修剪 Go 未使用的文件

  • go-testsprunes Go 測試文件

出于謹慎考慮,dep 非選擇性地保留可能具有法律意義的文件。

默認情況下禁用修剪選項。但是,生成過Gopkg.toml孔將添加行以在根級別dep init啟用go-tests和修剪選項。unused-packages

[prune]

  go-tests = true

  unused-packages = true

可以為每個項目定義相同的修剪選項。需要一個額外的名稱字段,并且與[[constraint]]和一樣[[override]],應該是源根目錄,而不僅僅是任何導入路徑。


[prune]

  non-go = true


  [[prune.project]]

    name = "github.com/project/name"

    go-tests = true

    non-go = false

幾乎所有的項目都可以不設置任何項目特定的規則,并在全局啟用以下剪枝規則:


[prune]

  unused-packages = true

  go-tests = true

設置non-go = true也通常是安全的。然而,由于depGo 文件所扮演的角色只有一個明確的模型,而非 Go 文件必然落在該模型之外,因此沒有可比的安全性通用定義。


查看完整回答
反對 回復 2023-05-15
  • 1 回答
  • 0 關注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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