英文:
golang and godep : Build\install after a golang dependency update when using godep?
问题
我已经按照 https://github.com/tools/godep 上的说明进行了依赖更新,但是当我构建/安装使用修改后的版本时,Godeps/_workspace/pkg 中的依赖并没有更新。
所以我执行了以下步骤:
go get github.com/golang/glog
godep save
godep go install
我可以看到:
- Godeps/_workspace/pkg/linux_amd64/github.com/golang/glog.a 中的修改时间戳
- Godeps/Godeps.json 中的 rev commit 值
但是现在当我想要更新时,我按照以下步骤进行:
go get github.com/golang/glog
godep update github.com/golang/glog
godep go install
我观察到以下情况:
- Godeps/Godeps.json 中的 rev commit 已经更新
- Godeps/_workspace/src/github.com/golang/ 的源代码已更新
- 但是 Godeps/_workspace/pkg/linux_amd64/github.com/golang/glog.a 的文件时间戳没有更新,因此我们仍在使用先前的版本
我认为我应该为 pkg 和 bin 添加一个 .gitignore 条目,这意味着我们在进行全新的 git 克隆时会进行清理构建。
我知道在执行 godep go install 命令之前,我可以在 pkg 和 bin 目录中执行 rm -r 命令。
这是预期的行为吗?
提前感谢!
Pat
英文:
I have followed the instructions @ https://github.com/tools/godep regarding updating a dependency but when I go to build\install using the altered version it has not been updated within Godeps/_workspace/pkg
So I have
go get github.com/golang/glog
godep save
godep go install
and I can see
- The modification timestamp in Godeps/_workspace/pkg/linux_amd64/github.com/golang/glog.a
- The rev commit value in Godeps/Godeps.json
but now when I want to update I follow the instructions
go get github.com/golang/glog
godep update github.com/golang/glog
godep go install
I observe the following
- The Godeps/Godeps.json rev commit has been updated
- Godeps/_workspace/src/github.com/golang/ source is updated
- But the file timestamp for odeps/_workspace/pkg/linux_amd64/github.com/golang/glog.a is not updated hence we are using the previous version
I believe I should add a .gitignore entry for pkg and bin, which means we would do a clean build on a fresh git clone
I know I could do a rm -r on both the pkg and bin directories before the godep go install command
Is this expected behavior ?
Thanks in advance
Pat
答案1
得分: 0
FYI
自从golang v1.4版本以来,我现在可以在go install命令中使用-a标志,因为它不再尝试重新构建标准库,详见v1.4版本发布说明中关于build -a标志的更改部分。
显然,在v1.4之前不适用,因为它将尝试重新构建标准库包。
英文:
FYI
Since golang v1.4 I can now use the -a flag for the go install command, since it now longer tries to rebuild the standard library, see the v1.4 release notes section on the change to the build -a flag
Obviously this does not apply in pre v1.4 as it will attempt to rebuild the standard library packages
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论