草庐IT

git - 如何在将 vendor 目录 checkin 版本控制时管理 Go 依赖项?

上下文我已经编写了一个Go库,并希望锁定和供应第三方依赖项。这样,对这些第三方依赖项的任何向后不兼容的更改都不会破坏我的库供其他用户使用。查看Go1.5VendoringExperiment的原始提案有关vendor运作方式的更多背景信息。我正在使用Glide管理依赖关系和锁定特定版本。由于该项目是供其他人使用的库,因此我想将vendor文件夹checkin版本控制。这样,该库的用户无需安装Glide即可使用它。他们所要做的就是设置环境变量GO15VENDOREXPERIMENT=1。我过去使用过Glide,我对它非常满意。但是,我以前从未尝试过将vendor文件夹提交到版本控制。这就

git - 如何在将 vendor 目录 checkin 版本控制时管理 Go 依赖项?

上下文我已经编写了一个Go库,并希望锁定和供应第三方依赖项。这样,对这些第三方依赖项的任何向后不兼容的更改都不会破坏我的库供其他用户使用。查看Go1.5VendoringExperiment的原始提案有关vendor运作方式的更多背景信息。我正在使用Glide管理依赖关系和锁定特定版本。由于该项目是供其他人使用的库,因此我想将vendor文件夹checkin版本控制。这样,该库的用户无需安装Glide即可使用它。他们所要做的就是设置环境变量GO15VENDOREXPERIMENT=1。我过去使用过Glide,我对它非常满意。但是,我以前从未尝试过将vendor文件夹提交到版本控制。这就

Go模块和依赖修改 vendor

我正在尝试将一个Go项目转换为新的模块标准,但我在一个依赖项上遇到了问题。该存储库提供了一个库(在本例中为golang.org/x/net/html)以向该库添加一些功能;这意味着它已经修改了vendored依赖项(向结构添加了一个方法)。所以问题是,在执行gomodinit之后,当我执行goget./...时,系统会提示调用该添加的功能,因为它忽略修改后的vendor并尝试导入上游库。有没有办法让gomod知道它应该使用vendored依赖项? 最佳答案 你可以试试replace指示。类似的东西首先cd./vendor/golan

Go模块和依赖修改 vendor

我正在尝试将一个Go项目转换为新的模块标准,但我在一个依赖项上遇到了问题。该存储库提供了一个库(在本例中为golang.org/x/net/html)以向该库添加一些功能;这意味着它已经修改了vendored依赖项(向结构添加了一个方法)。所以问题是,在执行gomodinit之后,当我执行goget./...时,系统会提示调用该添加的功能,因为它忽略修改后的vendor并尝试导入上游库。有没有办法让gomod知道它应该使用vendored依赖项? 最佳答案 你可以试试replace指示。类似的东西首先cd./vendor/golan

GO 测试给出了非常奇怪的错误 - 找不到包 command-line-a/vendor

我已经更新到GO1.6,现在在运行gotest时出现非常奇怪的错误pawel@pawel:~/work/src/...../web/workers$gotestemail_test.go#command-line-argumentsemail_test.go:16:2:cannotfindpackage"command-line-a/vendor/github.com/jpoehls/gophermail"inanyof:/usr/local/go/src/command-line-a/vendor/github.com/jpoehls/gophermail(from$GOROOT)/

GO 测试给出了非常奇怪的错误 - 找不到包 command-line-a/vendor

我已经更新到GO1.6,现在在运行gotest时出现非常奇怪的错误pawel@pawel:~/work/src/...../web/workers$gotestemail_test.go#command-line-argumentsemail_test.go:16:2:cannotfindpackage"command-line-a/vendor/github.com/jpoehls/gophermail"inanyof:/usr/local/go/src/command-line-a/vendor/github.com/jpoehls/gophermail(from$GOROOT)/

Go Dep - 与 vendor 同步 Gopkg.toml

有没有办法创建或同步Gokpkg.toml与我在.go文件中导入的包?如果我的Gopkg.toml是空的并且我运行depensure,它会将我在代码中导入的所有包下载到vendor文件夹但它不会更新Gopkg.toml文件。当我不得不将一个不使用包管理器的遗留项目迁移到使用dep时,它出现了,只需创建一个Gopkg.toml即可,其中包含我已经导入的所有包的最新版本,而不是为每个包手动运行depensure-add...。有这样的命令吗? 最佳答案 删除您的Gopkg.toml文件并运行depinit然后depensure。它将创建

Go Dep - 与 vendor 同步 Gopkg.toml

有没有办法创建或同步Gokpkg.toml与我在.go文件中导入的包?如果我的Gopkg.toml是空的并且我运行depensure,它会将我在代码中导入的所有包下载到vendor文件夹但它不会更新Gopkg.toml文件。当我不得不将一个不使用包管理器的遗留项目迁移到使用dep时,它出现了,只需创建一个Gopkg.toml即可,其中包含我已经导入的所有包的最新版本,而不是为每个包手动运行depensure-add...。有这样的命令吗? 最佳答案 删除您的Gopkg.toml文件并运行depinit然后depensure。它将创建

go - 不解决 vendor 目录中的依赖关系

我正在运行go1.6,在GOPATH(/Users/bweidlich/Projects/go)中运行“gobuild”时出现以下错误main.go:6:2:cannotfindpackage"github.com/spf13/viper"inanyof:/usr/local/go/src/github.com/spf13/viper(from$GOROOT)/Users/bweidlich/Projects/go/src/github.com/spf13/viper(from$GOPATH)项目结构:bin/glide.lockglide.yamlgo.imllogs/main.go

go - 不解决 vendor 目录中的依赖关系

我正在运行go1.6,在GOPATH(/Users/bweidlich/Projects/go)中运行“gobuild”时出现以下错误main.go:6:2:cannotfindpackage"github.com/spf13/viper"inanyof:/usr/local/go/src/github.com/spf13/viper(from$GOROOT)/Users/bweidlich/Projects/go/src/github.com/spf13/viper(from$GOPATH)项目结构:bin/glide.lockglide.yamlgo.imllogs/main.go