godep笔记

目录

  • 1 修订记录
  • 2 安装godep
    • 2.1 按装godep
    • 2.2 验证安装
  • 3 使用godep管理依赖项
    • 3.1 初始化工程
    • 3.2 引入依赖项
    • 3.3 开发
    • 3.4 测试
  • 4 使用godep管理已有工程
    • 4.1 将工程加入版本管理
    • 4.2 使用godep管理依赖项
  • 5 工作原理
  • 6 常用命令
    • 6.1 godep restore
  • 7 更新依赖项
  • 8 Godeps.json文件
    • 8.1 Godeps.json文件结构
    • 8.2 Godeps.json文件示例
  • 9 注意事项
  • 10 问题记录
    • 10.1 执行godep save提示警告:godep should only be used inside a valid go package directory…
  • 11 参考资料

1 修订记录

  • 2016年12月20日 修改安装方法说明;增加依赖项管理内容;修改格式;删除无用内容。

2 安装godep

2.1 按装godep

执行

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

编写代码使用依赖项。

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/子目录下。在这个过程中,以下文件不会复制

  • 没有纳入版本管理的文件
  • *test.go
  • testdata目录
  • go包外的其他文件

6 常用命令

6.1 godep restore

godep restore将Godeps/Godeps.json文件中指定的包安装到$GOPATH目录。

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\GoWorkspace

原因是工程目录不是$GOPATH的子目录。

转载于:https://my.oschina.net/u/131191/blog/809293

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值