我前一阵子开始使用godep
,但是我想我无法理解该原理,并且我可能会完全错误地使用它。
我以为godep
维护_workspace
以便在某些修订/项目被删除或不可用的情况下具有软件包的本地副本。但是godep restore
似乎根本没有使用_workspace
。
另外,第二次调用godep save
不会更新_workspace
,而只会更新Godeps.json
。
我想念什么?
更新:
为了解释我的问题,我将Godeps.json中的一个修订版本更改为无效的修订版本“1”,并运行了godep restore
。这是我得到的错误:
$GOPATH/bin/godep restore
# cd /home/iliga/gopath/src/github.com/jinzhu/gorm; git pull --ff-only
From https://github.com/jinzhu/gorm
a97a508..087b708 master -> origin/master
You are not currently on a branch. Please specify which
branch you want to merge with. See git-pull(1) for details.
git pull <remote> <branch>
# cd /home/iliga/gopath/src/github.com/jinzhu/gorm; git checkout 1
error: pathspec '1' did not match any file(s) known to git.
godep: restore: exit status 1
如上所述,我希望不会有错误,并且Godep只需从_workspace复制代码即可。
最佳答案
“godep restore”不使用_workspace。它读取Godeps.json并检查您对GOPATH的依赖关系。
要使用_workspace,请运行以godep开头的go命令,例如“godep go build”,“godep go test”。
关于go - Godep恢复不使用_workspace中保存的代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28703391/