godep 就类似maven工具 用来管理我们项目中依赖的第三方go libs
使用
首先 安装godep
go get github.com/tools/godep
然后执行 godep restore 同步库
情况:1.可能包没有 embedmd包 那么可以使用go get 下载 ,如果慢,那么直接用 git clone https://github.com/campoy/embedmd
情况 2. godep: open Godeps\Godeps.json: The system cannot find the path specified.
可能缺失很多包
以下在国内服务器需要做 因为被墙
但是在香港或者国外可能就执行按照godep就好了
RUN go get github.com/tools/godep \
go get github.com/campoy/embedmd \
go get github.com/client9/misspell/cmd/misspell \
go get github.com/dustin/go-broadcast \
go get github.com/gin-gonic/autotls \
go get github.com/jessevdk/go-assets \
go get github.com/manucorporat/stats \
go get github.com/thinkerou/favicon \
go get github.com/golang/lint \
go get github.com/grpc/grpc-go \
go get github.com/json-iterator/go \
go get golang.org/x/sys/unix \
go get golang.org/x/crypto/acme/autocert \
go get github.com/golang/crypto \
go get github.com/golang/lint \
go get github.com/grpc/grpc-go \
go get github.com/pmezard/go-difflib \
go get github.com/golang/sys \
go get github.com/golang/tools \
go get github.com/google/go-genproto
如果由的包找不到了 ,可以到github.com 上.golang.org在github.com上面有一个备份镜像。
有的包需要手动下载后,放到相应的目录下面。
https://github.com/golang/crypto
https://github.com/golang/lint
github.com/pmezard/go-difflib
https://github.com/golang/tools
https://github.com/google/go-genproto
golang中找不到的 直接到 github.com/golang 同样 github.com/google中去下载。
执行godep save后 ,项目会生成vendor 和 Godeps
godep save
将项目中使用到的第三方库复制到项目的Godeps目录下
godep restore
如果下载的项目中只有Godeps.json文件,而没有包含第三库则可以使用godep restore这个命令将所有的依赖库下来下来到GOPATH的src中。
godep go build
要编译和运行项目的时候再用go run和go build显然就不行了,因为go命令是直接到GOPATH目录下去找第三方库。 而使用godep下载的依赖库放到Godeps/workspace目录下的
参考: http://www.cnblogs.com/me115/p/5528463.html#h20
Go官方依赖包管理工具dep的安装及使用
可以通过下面命令去安装。
go get -u github.com/golang/dep/cmd/dep
我使用的是破解的dep,进入自己的工程目录,然后执行go get -u github.com/golang/dep/cmd/dep命令。安装完成后,输入命令dep检测是否安装成功,如果出现下图所示,则安装成功。
安装成功后,执行命令dep init对你的项目进行初始化。这时有可能会出现下面所示错误:init failed:unable to detect the containing GOPATH: D:\go_project\test is not within a known GOPATH/src。
之所以出现这个原因是因为你的工程路径不符合dep初始化工程的路径,因此,你可以将你的工程放到你本机的GOPATH/src目录下,然后执行dep init。
执行成功后会在你的项目目录中,生成三个文件,分别是:Gopkg.lock,Gopkg.toml和vendor文件夹。
如果 项目repo不存在了 ,可以手动下载到 pkg\dep\sources
如: http---go.uber.org-dig.git
如果依赖本地项目。 使用 replace 转发,就会直接访问本地路径下的项目。 这样就可以边调试 边修改 边引用,最后再提交了。不用每次修改项目后,提交 再下载测试了
require (
gitee.com/ifinder/mengine v0.0.0
)
replace gitee.com/ifinder/mengine => e:\ws\gows\mengine
再一个IDEA中调试另一个项目代码, 可以使用Project Struct => Module => Import 即可,当然在 go module 包强制编辑调试也可以,不过比较麻烦