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

相关文章
相关标签/搜索