C語言中文網 目錄

go get命令——一鍵獲取代碼、編譯并安裝

< 上一頁go install命令 go test命令下一頁 >

go get 可以借助代碼管理工具通過遠程拉取或更新代碼包及其依賴包,并自動完成編譯和安裝。整個過程就像安裝一個 App 一樣簡單。

使用 go get 前,需要安裝與遠程包匹配的代碼管理工具,如 Git、SVN、HG 等,參數中需要提供一個包名。

遠程包的路徑格式

Go 語言的代碼被托管于 Github.com 網站,該網站是基于 Git 代碼管理工具的,很多有名的項目都在該網站托管代碼。其他類似的托管網站還有 code.google.com、bitbucket.org 等。

這些網站的項目包路徑都有一個共同的標準,參見下圖所示。


圖:遠程包路徑格式

圖中的遠程包路徑是 Go 語言的源碼,這個路徑共由 3 個部分組成:
  • 網站域名:表示代碼托管的網站,類似于電子郵件 @ 后面的服務器地址。
  • 作者或機構:表明這個項目的歸屬,一般為網站的用戶名,如果需要找到這個作者下的所有項目,可以直接在網站上通過搜索“域名/作者”進行查看。這部分類似于電子郵件 @ 前面的部分。
  • 項目名:每個網站下的作者或機構可能會同時擁有很多的項目,圖中標示的部分表示項目名稱。

go get+遠程包

默認情況下,go get 可以直接使用。例如,想獲取 go 的源碼并編譯,使用下面的命令行即可:

$ go get github.com/davyxu/cellnet

獲取前,請確保 GOPATH 已經設置。Go 1.8 版本之后,GOPATH 默認在用戶目錄的 go 文件夾下。

cellnet 只是一個網絡庫,并沒有可執行文件,因此在 go get 操作成功后 GOPATH 下的 bin 目錄下不會有任何編譯好的二進制文件。

需要測試獲取并編譯二進制的,可以嘗試下面的這個命令。當獲取完成后,就會自動在 GOPATH 的 bin 目錄下生成編譯好的二進制文件。

$ go get github.com/davyxu/tabtoy

go get使用時的附加參數

使用 go get 時可以配合附加參數顯示更多的信息及實現特殊的下載和安裝操作,詳見下表所示。

go get 使用時的附加參數
附加參數 備  注
-v 顯示操作流程的日志及信息,方便檢查錯誤
-u 下載丟失的包,但不會更新已經存在的包
-d 只下載,不安裝
-insecure 允許使用不安全的 HTTP 方式進行下載操作

< 上一頁go install命令 go test命令下一頁 >

精美而實用的網站,提供C語言、C++、STL、Linux、Shell、Java、Go語言等教程,以及socket、GCC、vi、Swing、設計模式、JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo