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

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

`go build` 不必要地重建

`go build` 不必要地重建

Go
喵喔喔 2021-11-01 15:53:00
go build 和 go run 在我擁有的一個小程序上非常慢(特別是 cgo 調用)。我想緩存二進制文件,以便它只在源更新時重建。我會使用帶有 % 規則的簡單 Makefile,但語言設計者聲稱 go 的構建支持不需要 Makefile。我忽略了另一種選擇嗎?Go 社區是否更喜歡另一個構建系統,也許是基于哈希的,用于緩存和重用構建產品?
查看完整描述

2 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超22個贊

go build并且go install很快(Go 1.10,2018 年第一季度)會快得多:請參閱此主題草稿文件。

go 命令現在維護已構建包和其他小元數據的緩存(CL 68116CL 75473)。緩存默認為操作系統定義的用戶緩存目錄,但可以通過設置移動$GOCACHE
運行“ go env GOCACHE”查看當前有效設置?,F在 go 命令永遠不會從緩存中刪除任何內容。如果緩存變得太大,請運行“ go clean -cache”而不是刪除目錄。該命令將保留緩存的log.txt文件。幾周后,我會要求人們將他們的log.txt文件發布到 Github 問題,以便我們可以評估緩存大小管理方法。

構建緩存的主要作用是像 " go test" 和 " go build"這樣的命令運行得很快,并且總是進行增量構建,盡可能積極地重用過去的構建步驟。
您不必使用“ go test -i”或“ go build -i”或“ go install”來獲得快速增量構建。我們將不再需要教新用戶這些變通方法。一切都會很快。

請注意,go install不會安裝指定的軟件包的依賴關系:見“什么go build建設? ”。


查看完整回答
反對 回復 2021-11-01
  • 2 回答
  • 0 關注
  • 225 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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