2015-05-18 107 views

回答

31

Command go

Download and install packages and dependencies

用法:

go get [-d] [-f] [-fix] [-t] [-u] [build flags] [packages] 

獲取下載並安裝由導入路徑命名的包, 與它們的依賴一起。

-d標誌指示在下載軟件包後停止;那 是,它指示不安裝包。

-f標誌僅在設置-u時有效,強制get -u不驗證 每個包已從其導入路徑隱含的源控件 存儲庫中檢出。如果 源是原始的本地分支,這可能很有用。

-fix標誌指示在解析依賴關係或構建代碼之前,在下載的 程序包上運行修復工具。

-t標誌指示同時下載所需的軟件包到 構建指定軟件包的測試。

-u標誌指示可以使用網絡更新命名的 程序包及其依賴項。默認情況下,get使用網絡 檢查丟失的軟件包,但不使用它來查找 現有軟件包的更新。

獲取也接受構建標誌來控制安裝。請參閱'去幫助 建立'。

當檢出或更新包,拿到尋找一個分支或標記 是圍棋的本地安裝的版本相匹配。最重要的 規則是,如果本地安裝運行版本爲「go1」,則獲取 將搜索名爲「go1」的分支或標記。如果不存在這樣的版本, 將檢索最新版本的軟件包。

有關指定軟件包的更多信息,請參閱'go help packages'。

欲瞭解更多有關如何「去獲得」查找源代碼下載,請參閱「走出去 幫助importpath」。

例如,

$ go get -v github.com/capotej/groupcache-db-experiment/... 
github.com/capotej/groupcache-db-experiment (download) 
github.com/golang/groupcache (download) 
github.com/golang/protobuf (download) 
github.com/capotej/groupcache-db-experiment/api 
github.com/capotej/groupcache-db-experiment/client 
github.com/capotej/groupcache-db-experiment/slowdb 
github.com/golang/groupcache/consistenthash 
github.com/golang/protobuf/proto 
github.com/golang/groupcache/lru 
github.com/capotej/groupcache-db-experiment/dbserver 
github.com/capotej/groupcache-db-experiment/cli 
github.com/golang/groupcache/singleflight 
github.com/golang/groupcache/groupcachepb 
github.com/golang/groupcache 
github.com/capotej/groupcache-db-experiment/frontend 
$ 
+2

如果這有助於任何人解決我的問題('package github.com/coreos/go-iptables.git :github.com/ path中的無效版本控制後綴)是從Github URL中刪除'.git'後綴。 – Excalibur

+0

@Excalibur你是一個天才:) – DoubleA

+0

通常我應該將包路徑指向'main.go'? –

16

首先,我們需要GOPATH

的$ GOPATH是由它的環境變量指定的文件夾(或一組文件夾)。我們必須注意到,這不是安裝Go的$ GOROOT目錄。

export GOPATH=$HOME/gocode 
export PATH=$PATH:$GOPATH/bin 

我們用〜/ gocode路徑在我們的電腦用於存儲應用程序及其依賴的來源。 GOPATH目錄還將存儲其軟件包的二進制文件。

然後檢查圍棋ENV

您的系統必須有$ GOPATH和$ GOROOT,下面是我的ENV:

GOARCH="amd64" 
GOBIN="" 
GOCHAR="6" 
GOEXE="" 
GOHOSTARCH="amd64" 
GOHOSTOS="linux" 
GOOS="linux" 
GOPATH="/home/elpsstu/gocode" 
GORACE="" 
GOROOT="/home/pravin/go" 
GOTOOLDIR="/home/pravin/go/pkg/tool/linux_amd64" 
CC="gcc" 
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0" 
CXX="g++" 
CGO_ENABLED="1" 

現在,運行下載去包:

go get [-d] [-f] [-fix] [-t] [-u] [build flags] [packages] 

獲取下載並安裝由導入路徑命名的包及其依賴關係IES。欲瞭解更多詳情,你可以看看here

+1

我去的環境已經被還好,但我不熟悉規則'去GET',所以'github.com:capotej/groupcache-db-experiment .git'不是非法的,合法路徑是什麼? – roger

+0

嘗試去獲得-v github.com/capotej/groupcache-db-experiment/... as @peterSO說 –