问题标签 [go-modules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
165 浏览

go - 如何使来自 golang.org 的模块在我的 go.mod 中显示为带有 semver 标签?

在我的go.mod档案中。我想从 golang.org 更改有关模块的版本控制。

他们在版本之后有提交日期和哈希。

我正在使用 go mod,所以我go.mod的工作区中有文件。我go.mod的如下。

像这样。

golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 -> golang.org/x/crypto v0.0.0

如何改变它?

我认为他们没有官方的主要版本控制。结果,我想简化我的go.mod文件

0 投票
2 回答
323 浏览

go - 如何在代码提交和通过drone.io构建应用程序时在代码中提供所需的go模块?

我开发了一次性服务并将其部署在 GAE 上。在开发此应用程序时,我在我的工作机器中使用命令包含了所需的 go 模块-

我可以使用以下命令包含其他必需的 go 模块 -

它创建了一个带有消息的 go.mod 文件-

比,我执行下面的命令来下载供应商文件夹中所需的模块 -

现在,我想在我的功能分支中提交这个 go 代码,其中代码通过存储库中的 .drone.io 工具自动部署。但是,我的构建失败,只有错误:

在我的 .drone.yml 文件部分中,产生问题的是 -

我不知道如何解决这个问题?如果 go mod vendor 在这种情况下可以提供帮助,如何使用它以及我必须在哪个文件夹级别执行它?请解释所有要执行的步骤。

0 投票
2 回答
2689 浏览

go - 无法在非本地类型模型上定义新方法。仪表

我想把我所有的模型放在一个共享Common库中。

所以,我做了一个新的回购:gitlab.com/xxx/common

我在里面放了一个包:models

这是对象的定义:

现在,我想在外部项目中使用它,我这样做:

Go Modules 会下载它。

我像这样导入使用它:

但是Goland不会解决它,当我编译时,我得到:

为什么会发生,我能做些什么来解决它?

0 投票
1 回答
2549 浏览

docker - 在 Docker 中找不到 Go mod 文件夹

我是一个非常新的模块,我正在尝试一个项目并更新它以使用它们,因为它们似乎是最终处理我的依赖项的好方法。但是,我在 Docker 中构建东西时遇到了问题。

我有一个带有一个main.go和一个go.mod文件的项目(它引用了私有/本地存储库以及公共存储库,例如go.uber.org/zap)。我已经命名了我的模块github.internal.com/team_name/project_name,我已经出售了我的依赖项。所以,我的项目结构如下:

然后,在main.go我导入

所有这些都很好,我可以运行go build没有问题。

当我尝试使用 Docker 构建时,问题就出现了。在我的 Dockerfile 中,我运行

当我运行docker build它返回:

如何进入正确的目录以识别模块中的所有文件?

提前致谢!

0 投票
1 回答
1523 浏览

go - 在 IntelliJ 中导入未加载,即使启用了 go modules 集成

当使用带有 Go 插件的 IntelliJ IDEA 或 GoLand 并使用 Go 1.11 或更高版本时,您可以通过转到 Preferences -> Languages & Frameworks -> Go -> Go Modules (vgo) 并选中“Enable Go Modules”框来启用 Go 模块(vgo) 整合”。

当您有一个由 正确初始化的项目go mod init,因此有一个go.modgo.sum文件时,它将在使用go build或从 IntelliJ 的命令行构建时通过按下绿色播放图标下载依赖项。

但是,远程依赖项的导入语句可能仍然是红色的,即使它们似乎已被下载并出现在go.mod文件中。

奇怪的是,go 项目实际上会从命令行运行,而不是从 IntelliJ 中运行。为什么会这样,我该如何解决?

0 投票
4 回答
1521 浏览

go - go.mod 在修订版中有 post-v0 模块路径“git.example.com/owner/repo/v3”...?

v3.0.1我的同事在更新之前推送了一个标签go.mod以具有/v3后缀(https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher)。我已经更新了模块路径 ( go.mod) 和所有导入路径 ( *.go) 来修复它,标记为v3.0.2.

现在的问题是:

发现这个:go build 一直在抱怨:go.mod 有 post-v0 模块路径

所以,我删除了两个标签v3.0.0v3.0.1将它指向最新的提交,重新推送,但问题仍然存在。

我注意到go.mod仍然将旧版本称为间接依赖:

即使我将其更改为/v3 v3.0.2它也会v0.1.12自动恢复。

为什么?

我错过了什么?


2019 年 7 月 23 日星期二 05:54:56 +07

并且go.mod现在正确更新:

go get -v git.example.com/owner/repo@v3.0.2仍然返回错误:

d85c4f69ad17是最新的提交master

我注意到两者都有v0.1.2和:v3.0.2go.sum

0 投票
2 回答
6534 浏览

go - 构建命令行参数:无法加载本地包:找不到提供包的模块

我无法使用 go mod 加载本地包。我有单独的 go.mod 文件用于 repoA 和 repoB。我在任何地方都找不到解决方案。操作系统是windows。

当我从repoA运行主文件时,我有两个带有存储库的模块。它会尝试找到repoB的模块/包,然后它会抛出一个错误说

找不到提供包的模块

我的回购结构:-

0 投票
3 回答
2256 浏览

go - Gitlab CI 和 Go 模块

我有一个 Go 项目,我想为我的项目编写一个 Gitlab CI 文件,但我看到加载模块要求时出错。这是我的 gitlab CI 文件:

0 投票
1 回答
215 浏览

go - 尝试使用本地子模块时出现问题

我正在尝试将 go 模块与一些尚未推送到 github 的本地代码一起使用(golang 版本为 1.12.7)

到目前为止,我有 3 个模块都在同一个父根目录下(兄弟文件夹)。maps并且go-database-util已经被推送,但是该模块应该使用我本地的任何内容(而且我还没有为 git repo 创建go-log-util),所以我认为这不相关。

go-database-util和都是go-log-util库​​,不提供主包。有趣的是,go-database-util在导入 /maps/main.go 时工作正常,但在尝试导入时并非如此go-log-util。这是我尝试时得到的go build maps

build github.com/X/maps: cannot load github/X/go-log-util: cannot find module providing package github/X/go-log-util

这里发生了什么?我一直在努力从go depto go 模块迁移,但到目前为止还没有运气。

相关代码如下。

非常感谢!:)

/maps/main.go

/maps/go.mod

/go-database-util/db.mod

go-database-util/go.mod

go-log-util/log.go

go-log-util/go.mod

0 投票
2 回答
42592 浏览

go - 如何使用 go modules 删除已安装的包

我已经使用 go modules 安装了一个包(go get in Go 1.13),现在我想删除它。在文档中对此一无所知,在go get docu中也没有。

手动从 go.mod 中删除包并不能解决问题,因此它仍保留在 go.sum 中。

我应该如何以干净的方式删除包裹?