godep筆記

目錄

1 修訂記錄

  • 2016年12月20日 修改安裝方法說明;增長依賴項管理內容;修改格式;刪除無用內容。

2 安裝godep

2.1 按裝godep

執行git

go get github.com/tools/godep

2.2 驗證安裝

godep version

3 使用godep管理依賴項

3.1 初始化工程

mkdir Project
cd Project
git init .

3.2 引入依賴項

go get foo/bar

編寫代碼使用依賴項。github

godep save

3.3 開發

3.4 測試

godep go test

4 使用godep管理已有工程

4.1 將工程加入版本管理

git init .
git add .
git commit -a -m "Initial commit."

4.2 使用godep管理依賴項

godep save

5 工做原理

godep會將工程依賴項複製到工程目錄的vendor/子目錄下。在這個過程當中,如下文件不會複製json

  • 沒有歸入版本管理的文件
  • *test.go
  • testdata目錄
  • go包外的其餘文件

6 經常使用命令

6.1 godep restore

godep restore將Godeps/Godeps.json文件中指定的包安裝到$GOPATH目錄。ide

7 更新依賴項

go get -u foo/bar
godep update foo/bar

8 Godeps.json文件

Godeps.json文件描述了工程依賴項。Godeps.json文件位於工程目錄的字母Godeps下。測試

8.1 Godeps.json文件結構

type Godeps struct {
    ImportPath   string
    GoVersion    string   // Abridged output of 'go version'.
    GodepVersion string   // Abridged output of 'godep version'
    Packages     []string // Arguments to godep save, if any.
    Deps         []struct {
        ImportPath string
        Comment    string // Description of commit, if present.
        Rev        string // VCS-specific commit ID.
    }
}

8.2 Godeps.json文件示例

{
    "ImportPath": "github.com/kr/hk",
    "GoVersion": "go1.6",
    "Deps": [
        {
            "ImportPath": "code.google.com/p/go-netrc/netrc",
            "Rev": "28676070ab99"
        },
        {
            "ImportPath": "github.com/kr/binarydist",
            "Rev": "3380ade90f8b0dfa3e363fd7d7e941fa857d0d13"
        }
    ]
}

9 注意事項

  • 工程目錄應當是$GOPATH的子目錄。

10 問題記錄

10.1 執行godep save提示警告:godep should only be used inside a valid go package directory…

godep: [WARNING]: godep should only be used inside a valid go package directory and godep: [WARNING]: may not function correctly. You are probably outside of your $GOPATH. godep: [WARNING]: Current Directory: D:\Workspace\Develop\AHStock godep: [WARNING]: $GOPATH: D:\Workspace\GoWorkspacegoogle

緣由是工程目錄不是$GOPATH的子目錄。spa

相關文章
相關標籤/搜索