最近切換到使用 Go 1.11 版本,并試圖將我們的項目轉換為使用新的模塊系統。但是,我在緩存系統方面遇到了一個令人沮喪的問題(到目前為止,由于過去不相關的問題,我一直在運行,GOCACHE=off但這不是模塊的選項)。下面的命令日志是基于使用 Homebrew 將我的系統轉到 1.11 的全新升級(我通常使用 gvm 來安裝和管理 Go 版本,但為此切換到系統構建以查看 gvm 是否是問題所在)。我將我的 GOPATH 設置為一個臨時目錄,并將源代碼移出默認的 GOPATH(當前位于~/gotemp/statsbot)。對于此命令日志,我首先對緩存進行核對,以使其處于全新狀態。然后我正在構建(以引入任何缺少的依賴項,這也應該重新緩存 deps),然后對其中一個子目錄進行測試。[08:34:48] statsbot (feature/bot-rebuild-gomod) $ rm -rf on[08:34:49] statsbot (feature/bot-rebuild-gomod) $ go clean --cache[08:34:50] statsbot (feature/bot-rebuild-gomod) $ go envGOARCH="amd64"GOBIN=""GOCACHE="on"GOEXE=""GOFLAGS=""GOHOSTARCH="amd64"GOHOSTOS="darwin"GOOS="darwin"GOPATH="/var/folders/ck/bf8_n8hn34j7bh7hqqppxrtm0000gn/T/tmp.3ga5Iq09"GOPROXY=""GORACE=""GOROOT="/usr/local/Cellar/go/1.11/libexec"GOTMPDIR=""GOTOOLDIR="/usr/local/Cellar/go/1.11/libexec/pkg/tool/darwin_amd64"GCCGO="gccgo"CC="clang"CXX="clang++"CGO_ENABLED="1"GOMOD="/Users/kaedys/gotemp/statsbot/go.mod"CGO_CFLAGS="-g -O2"CGO_CPPFLAGS=""CGO_CXXFLAGS="-g -O2"CGO_FFLAGS="-g -O2"CGO_LDFLAGS="-g -O2"PKG_CONFIG="pkg-config"GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/ck/bf8_n8hn34j7bh7hqqppxrtm0000gn/T/go-build065167780=/tmp/go-build -gno-record-gcc-switches -fno-common"[08:34:53] statsbot (feature/bot-rebuild-gomod) $ go build .[08:35:01] statsbot (feature/bot-rebuild-gomod) $ ginkgo statsFailed to compile stats:我在許多構建情況下都看到了同樣的錯誤消息。 通常go build .會成功,但有時會失敗并顯示類似的消息。運行invariable 可以修復這些問題,但我真的不想在每次構建之前都運行它,并且在嘗試使用 Ginkgo 進行測試時它不起作用,因為這似乎涉及多個連續的編譯。go clean --cache
1 回答

素胚勾勒不出你
TA貢獻1827條經驗 獲得超9個贊
您的GOCACHE
環境變量設置為"on"
.?的值GOCACHE
必須是一個文件夾,特殊"off"
值意味著不緩存構建和測試結果并且不使用那些已經緩存的數據。沒有什么特別的價值"on"
。
您不必設置GOCACHE
,因為它有一個默認值。引用自Command Go:構建和測試緩存:
go 命令緩存構建輸出以便在未來的構建中重用。緩存數據的默認位置是當前操作系統的標準用戶緩存目錄中名為 go-build 的子目錄。設置 GOCACHE 環境變量會覆蓋此默認值,運行“go env GOCACHE”會打印當前緩存目錄。您可以將變量設置為“關閉”以禁用緩存。
- 1 回答
- 0 關注
- 122 瀏覽
添加回答
舉報
0/150
提交
取消