當我運行go install
時,我的一些軟件包位於%GOPATH%\src
中,它將被安裝到%GOPATH%\pkg
。什麼規則決定Go包的安裝位置?
我讀到%GOROOT%
和%GOPATH%
文件夾有類似的組織。所以我嘗試go install cmd\cgo
與%GOROOT%\src\cmd\cgo
包,它是golang安裝的一部分。但最後的cgo.exe
安裝到%GOROOT%\pkg\tool\
。
我檢查了cmd\cgo
文件夾中的所有*.go
文件。他們都有一個package main
聲明。所以我期待最後的cgo.exe
被安裝到%GOROOT%\bin
。
我的問題是:
- 爲什麼
cgo.exe
安裝到pkg
而非bin
? pkg\tool
中的tool
部分來自哪裏?我可以爲自己的包做類似的事嗎?
那怎麼去工具工作的,你不能爲你自己的代碼做到這一點。 stdlib和std工具的處理方式不同。 – Volker
相關:[爲什麼在運行'go get golang.org/x/tools/cmd/godoc'?](http://stackoverflow.com/questions/33118766/why-is-there-no-二進制創建時運行go-get-golang-org-x-tools-cmd-godoc/33119819#33119819) – icza