- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在用 Go 编写一个项目以部署在 heroku 上,使用 godep 管理依赖项.
当我 godep save
时,我得到一个 Godeps.json
文件,其中列出了我的依赖项和版本,以及一个 _workspace/
目录和源对于复制的所有依赖项。我宁愿不提交 _workspace
,所有这些代码已经在 github 上的其他地方。似乎 Godeps.json
包含了我们在 heroku buildpack 时 go get
版本锁定依赖项所需的所有信息。
Several sources建议提交完整的 Godeps/
目录,但其他人建议这样做 might not be necessary .
godep 文档没有多大帮助:
This will save a list of dependencies to the file Godeps/Godeps.json, and copy their source code into Godeps/_workspace. Read over its contents and make sure it looks reasonable. Then commit the file to version control.
是 Godeps.json 文件吗?
最佳答案
官方回答:
来自 GitHub 问题 #131 :
The intended use of
godep
is to vendor dependencies and commit the _workspace directory to version control. See the proposal document by @kr linked in #123 (proposal: http://goo.gl/RpYs8e) As discussed in that proposal, godep used to have a mode (-copy=false) that supported not vendoring the dependencies. My guess is that the ambiguous language in the Readme may be due to that. This mode has been removed as documented in #123.
这里还有 godep
作者在谈论他的项目和背后的想法 - Vendoring and Import Path Rewriting
个人意见:
我认为没有正确的方法。
提交 vendor 库确实看起来很尴尬,但它有它的优势:
最后由你来权衡利弊。就个人而言,每次我必须提交 vendor 代码时我都会畏缩,但在我的 Go 项目中我会这样做。至少现在是这样。
此外,Google 和 Facebook 等公司大多将所有内容保存在一个存储库中,其中包括 vendor 代码(或者我听说过)。
关于该主题的有趣文章: Go Package Management
关于git - 我应该提交 Godeps/_workspace 还是 Godeps.json 就足够了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26334220/
当我从项目的根目录运行godep save ./...时,出现以下错误。有什么线索我可能要解决吗? godep:无法找到package的SrcRoot。 最佳答案 文件系统位置在Go中非常重要。您应该
我正在使用 Godeps 将我的依赖项保存到我的 go 项目中。 现在我的 Godeps.json 文件如下所示: { "ImportPath": "github.com/some/repo"
我正在用 Go 编写一个项目以部署在 heroku 上,使用 godep 管理依赖项. 当我 godep save 时,我得到一个 Godeps.json 文件,其中列出了我的依赖项和版本,以及一个
我是 Go & Beego 的新手。 当我用beego的默认docker文件构建docker镜像时,它显示了这个错误: godep: No Godeps found (or in any parent
我已按照说明进行操作@ https://github.com/tools/godep关于更新依赖项,但是当我使用更改后的版本进行构建\安装时,它尚未在 Godeps/_workspace/pkg 中更
我的 $GOPATH 中有最新的 deps。现在我想通过调用 godep update ./... 然后调用 godep save ./... 用新的 deps(最新的 GOPATH)更新我的项目 G
我正在尝试构建 syncthing : $ ./build.sh Warning: no godep, using "go get" instead. Try "go get github.com/t
我是 Go 新手,一直在本地做一个 Go 项目。我通过以下方式在我的本地系统中安装了 Godep: go get github.com/tools/godep 然后安装Aerospike依赖 go g
这是我的问题。我有 go-app,它使用我自己创建的一些自定义包。我不想在 git 或其他地方发布这个包。它们只是具有某些特定功能的包。 因此,我的项目文件夹如下所示: |--src/github/u
我正在尝试在 heroku 上部署我的 Go 应用程序,为此我使用 Godep 作为构建包。使用命令安装 godep 之后 go get github.com/tools/godep 当我尝试运行时
我正在尝试在 docker 中运行应用程序(用 Go 编写)。要安装依赖项,我正在使用 godep。在 docker 中执行 godep 时,收到以下错误 docker run -ti --rm -
我有一个看起来像这样的存储库: src | |--myplace |--myprojectRepo |--someCmd | main.go |--
我已经在 github 中有一个现有项目,并且在 Godeps 文件夹中存储了 deps json 文件,在 vendor 文件夹中存储了依赖包。 现在我需要一种方法来将新包添加到列表中,而不会对现有
尝试运行 godep save 时,我总是遇到以下错误: godep: [WARNING]: godep should only be used inside a valid go package d
我需要更新 stripe-go 库版本。项目有 19.**新版本 52.**有一个godeps依赖管理器 当我尝试运行时 godep save github.com/stripe/stripe-go
我不久前开始使用 godep,但我认为我未能理解其原理,而且我可能完全错误地使用了它。 我认为 godep 维护 _workspace 以便在某些修订/项目被删除或变得不可用时拥有包的本地副本。但是
我刚开始使用 godep首次。当我运行 godep save 时,Godeps.json 文件不包含 testify这是我的单元测试的依赖项。 go get -t 会看到 testify ,如何告诉
我正在尝试在 heroku 上部署一个简单的 go lang 服务器。我已经设法让它运行起来。但是我想知道我对godep的使用是否合适。 这是我生成的 Godeps.json。 { "Impo
目前我正在使用 godep 为 Go 提供包供应。问题是我正在根据某个包的不同版本处理多个项目。我无法决定如何构建我的 GOPATH(s)。我有几个选择: 在项目之间切换时使用单个 GOPATH 并使
我一直在试用 godep,发现它非常有用。然而,很多人建议使用 Glide,这对我来说或多或少是一样的。因此,我想知道两者之间的区别。 最佳答案 glide 将下载并将其存储在名为 vendor 的目
我是一名优秀的程序员,十分优秀!