剖析「go install」:揭秘建置與安裝過程
文件中經常沒有解釋go build 和go 之間的區別可能安裝會讓開發人員感到困惑。雖然大多數人期望 go install 透過將編譯的可執行檔重新定位到指定位置來鏡像 make install 的功能,但他們驚訝地發現結果駐留在 GOROOT/bin 目錄中。本文旨在闡明這兩個命令的目的和行為。
實際發生了什麼事?
go build 是一個簡單的編譯工具。它只是組裝可執行檔並將其儲存在指定的目的地。另一方面,go install 執行稍微複雜的過程:
可視化包樹
為了說明go build 和go install,考慮以下包樹:
. ├── bin │ └── hello # by go install └── src └── hello ├── hello # by go build └── hello.go
hinstall,請執行文件由go build 編譯並駐留在src/hello 目錄,而go install則放在 $GOPATH/bin 中,並將依賴快取儲存在 $GOPATH/pkg 中。
安裝位置可以自訂嗎?
與make install不同,go install不提供指定自訂安裝目錄的選項。為了實現這種程度的控制,有必要建立一個定義建置和安裝過程的 Makefile。但是,通常不建議使用這種方法。
其他上下文
更多見解,請參閱有關以下主題的官方文件:
以上是`go build` 和 `go install` 之間有什麼區別,它們在哪裡安裝可執行檔?的詳細內容。更多資訊請關注PHP中文網其他相關文章!