go install 是 Go 中自動(dòng)包安裝工具:如需要將包安裝到本地它會(huì)從遠(yuǎn)端倉庫下載包:檢出、編譯和安裝一氣呵成。
在包安裝前的先決條件是要自動(dòng)處理包自身依賴關(guān)系的安裝。被依賴的包也會(huì)安裝到子目錄下,但是沒有文檔和示例:可以到網(wǎng)上瀏覽。
go install 使用了 GOPATH 變量(詳見第 2.2 節(jié))。
遠(yuǎn)端包(詳見第 9.5 節(jié)):
假設(shè)我們要安裝一個(gè)有趣的包 tideland(它包含了許多幫助示例,參見 項(xiàng)目主頁)。
因?yàn)槲覀冃枰獎(jiǎng)?chuàng)建目錄在 Go 安裝目錄下,所以我們需要使用 root 或者 su 的身份執(zhí)行命令。
確保 Go 環(huán)境變量已經(jīng)設(shè)置在 root 用戶下的 ./bashrc
文件中。
使用命令安裝:go install tideland-cgl.googlecode.com/hg
。
可執(zhí)行文件 hg.a
將被放到 $GOROOT/pkg/linux_amd64/tideland-cgl.googlecode.com
目錄下,源碼文件被放置在 $GOROOT/src/tideland-cgl.googlecode.com/hg
目錄下,同樣有個(gè) hg.a
放置在 _obj
的子目錄下。
現(xiàn)在就可以在 go 代碼中使用這個(gè)包中的功能了,例如使用包名 cgl 導(dǎo)入:
import cgl "tideland-cgl.googlecode.com/hg"
從 Go1 起 go install 安裝 Google Code 的導(dǎo)入路徑形式是:"code.google.com/p/tideland-cgl"
升級(jí)到新的版本:
更新到新版本的 Go 之后本地安裝包的二進(jìn)制文件將全被刪除。如果你想更新,重編譯、重安裝所有的go安裝包可以使用:go install -a
。
go 的版本發(fā)布的很頻繁,所以需要注意發(fā)布版本和包的兼容性。go1 之后都是自己編譯自己了。
go install 同樣可以使用 go install 編譯鏈接并安裝本地自己的包(詳見第 9.8.2 節(jié))。
更多信息可以在 官方網(wǎng)站 找到。