21天精品區塊鏈課程免費學習,深入實戰行家帶路,助力開發人員輕鬆玩轉區塊鏈!>>>
golang 第三方包的安裝的方法:
1. go get 安裝
# 比如要安裝 "github.com/gin-gonic/gin"$ go get github.com/gin-gonic/gin
- 注意:執行go get 命令需要先安裝git命令,並配置git全域變數。
2. 源碼包安裝
由於國內網路問題,很多時候go get命令並不能安裝,所以就需要手動下載源碼包,然後拷貝到$GOPATH/sr/ 目錄下
# 比如要安裝"github.com/golang/protobuf/proto"# 去github.com/golang/protobuf下載源碼包,# 拷貝到 $GOPATH/src/github.com/golang/protobuf$ cd $GOPATH/src/github.com/golang/protobuf$ go install
- 注意:第三包安裝完成後,應用程式匯入包時還是使用的源碼,而非 $GOPATH/pkg/ 下的 .a檔案。如何能像標準包fmt一樣直接使用pkg,還需進一步研究。
- 注意:上面直接寫的$GOPATH,在 GOPATH 只有一個目錄的時候可以這樣寫,按tab鍵就會自動切換為實際目錄,如果 GOPATH 配置了多個目錄則要輸入具體的目錄。
golang 使用第三方包
使用方式
在應用程式中直接impor即可
// 比如要使用 "github.com/gin-gonic/gin"import "github.com/gin-gonic/gin"
- 注意:GO 和Java 不同的是:所有import的包必須在%GOPATH路徑下,如果直接匯入源碼路徑下的包,編譯會報錯。因為GO只會在$GOPATH 下找包的依賴,而不會在當前工程下找。
golang 增加環境變數
很多時候我們並不希望自己的工程代碼和下載的第三方包代碼混在一起,這時候就想自己建一個目錄,但是我們知道,執行go install 的時候,必須在 $GOPATH 路徑下,所以我們要將自己的自己建立的目錄加入到$GOPATH中。比如我在/home/jerry/go/ 下面建了src/ 目錄,裡面放的是我自己寫的包 myMax/myMax.go
# 使用 vim 開啟 ~/.bash 檔案$ vim ~/.bash# 在裡面添加剛才自己建立的工作目錄export GOPATH=$GOPATH:/home/jerry/go/# 退出 vim 並讓更改立即生效$ source ~/.bash# 安裝自己的包, 發現不會報錯了$ cd ~/go/src/myMax/$ go install
包管理工具 govendor 的安裝
按照上面的方法按照,安裝完以後再$GOPATH/bin/目錄下就可看到有一個govendor檔案
$ ll ~/workspace/bin/-rwxrwxr-x 1 jerry jerry 13146288 Jul 23 04:44 govendor*# 將govendor 添加到環境變數$ vim ~/.bash# 在vim檔案中添加export PATH=$PATH:/home/jerry/workspace/bin/$ source ~/.bash
govendor 的使用
進過前面的配置,我們現在已經可以在自己的目錄下使用govendor命令了。
$ cd ~/go/src/myMax/# 產生vendor目錄,產生vendor.jso$ govendor init$ cat vendor/vendor.json {"comment": "","ignore": "test","package": [],"rootPath": "myMax"}
添加依賴包到vendor目錄下
# govendor add +e 也可以$ govendor add +external
理解golang包匯入
https://www.cnblogs.com/sevenyuan/p/4548748.html
- 在使用第三方包的時候,實際上是連結了以該最新源碼編譯的臨時目錄下的.a檔案。
- import後面的最後一個元素應該是路徑,就是目錄,並非包名。
- fmt.Println()中的fmt則是包名。
- import m "lib/math" 中的m是包名。