草庐IT

mod_vhost_alias

全部标签

Docker 在 go.mod 文件中找不到依赖项

我在一个使用GoLang和Docker的项目中工作,并使用go.mod来维护依赖关系。当我在没有docker的情况下构建时,该项目工作正常,但是当我尝试构建docker镜像时,出现此错误:internal/server/server.go:8:2:cannotfindpackage"github.com/gorilla/mux"inanyof:/usr/local/go/src/github.com/gorilla/mux(from$GOROOT)/go/src/github.com/gorilla/mux(from$GOPATH)cmd/root.go:7:2:cannotfindp

go - 如何使用 go mod 复制非 go 文件

gomod不包含vendor目录中的非go代码。目前我们使用go和go-oracle连接数据库。我们计划使用docker,因此想到了使用gomodules对我们的项目进行版本化的想法。但是由于go-oracle有包含C代码的子文件夹,它不会从go在pkg文件夹中创建的mod目录中复制过来。有没有办法我们也可以添加非go代码?我们确实尝试使用https://github.com/goware/modvendor但它没有复制非去代码。除非我们没有正确使用它。packagemainimport("fmt""github.com/jmoiron/sqlx"log"github.com/siru

go - 如何将 go mod 升级到 v2 或更高版本?

我的go包版本是v1.0.7,现在想升级到v2.0.0。当我使用gogetCODEPATH时,我创建了一个带有bug的新标签,它仍然使用v1.0.7版本。go.mod应该像requireCODEPATHv2.0.0+incompatible但我想知道哪个命令会执行此操作?文档Modules说将/v2添加到模块路径,但没有说明如何升级客户端的go.mod。 最佳答案 我自己试过,成功了。将/v2添加到您的go.mod模块行modulegithub.com/mnhkahn/aaa/v2;如果导入模块的子包,像这样导入import"git

go mod vendor 没有更新到最新

我想弄清楚是否可以在没有go工具更新我的go.mod文件的情况下运行gomodvendor。我特别gogetpackage/subpackage@commit并使用正确的版本提交我的go.mod。然后我运行gomodvendor,它会自动更新我刚刚专门设置的包的版本。我查看此页面无济于事:https://github.com/golang/go/wiki/Modules#how-do-i-use-vendoring-with-modules-is-vendoring-going-away我需要使用vendor,因为我运行了一个脚本来编辑一些vendoreddeps。我正在查看以下构建流

go - 使用 "go get"下载二进制文件而不将它们添加到 go.mod

我在我的项目和构建系统(例如TravisCI)中使用Go模块构建过程,例如:gogetgithub.com/mitchellh/gox但是,此goget导致文件被添加到我的go.mod文件中。这会污染构建环境,导致它变得“脏”(因为在git中跟踪的某些文件有更改,在本例中为go.mod和go.sum),我使用gitdescribe--always--dirty--tag来描述我的构建,它显示为“脏”。有没有办法“goget”一个二进制文件只是为了下载它,而不是将它添加到go.mod/go.sum中?我已经尝试将GOPATH设置到其他地方,即便如此,goget更新go.mod/go.su

types - Go 中 "alias"类型的开销

我正在编写vector.go作为我程序的一部分。它提供了一个三维vector结构和一些向量操作。为了与一般的vector类型对称,我想提供一个scalar类型:typescalarfloat64我喜欢这个,因为我没有理由每次都指定我的标量的精度。它们是64位的这一事实是我宁愿只指定一次的细节。唯一的问题是我知道这与C中的typedef不同。幕后似乎还有更多事情要做。我的问题:这会产生任何开销吗?如果是这样,何时以及多少?当性能绝对关键时,我可以使用它吗?(假设我将每次出现的float64替换为scalar并转换文字,例如scalar(1.0)。) 最佳答案

go - 使用go mod下载时出现 "Pattern matched no module dependencies"是什么原因?

运行gomoddownload时会显示警告(警告:模式“全部”不匹配任何模块依赖项)并且我的go.mod文件中没有任何模块下载到本地缓存。我花了最后一个小时在谷歌上试图找到类似的错误,但一直坚持唯一的结果是破坏CI构建日志。我的go.mod文件如下:modulegithub.com/j4ng5y/scraper-apigo1.12require(github.com/PuerkitoBio/goqueryv1.5.0//indirectgithub.com/antchfx/htmlqueryv1.0.0//indirectgithub.com/antchfx/xmlqueryv1.0.

floating-point - Go 中的 math.Mod 返回整数部分而不是浮点余数

Golang的ma​​th.Mod(10,4)返回2——即。除法结果2.5的整数部分——但它不应该是“浮点余数”,即0.5吗? 最佳答案 结果正确。math.Mod返回余数,在这种情况下实际上是2。它等效于%运算符,但适用于float。 关于floating-point-Go中的math.Mod返回整数部分而不是浮点余数,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/106500

go - 从 go.mod 手动获取依赖项?

我正在使用带有模块支持的go1.11。我知道go工具现在会在构建/安装时自动安装依赖项。我也明白其中的道理。我正在使用docker来构建我的二进制文件。在许多其他生态系统中,复制依赖项list(package.json、requirements.txt等)并将依赖项安装为独立于构建的独立阶段是很常见的。这利用了docker的层缓存,并使重建速度更快,因为通常代码更改远远超过依赖项更改。我想知道vgo有没有办法做到这一点? 最佳答案 这是一个问题#26610,现在已修复。所以现在你可以使用:gomoddownload为此,您只需要go

git - zsh : alias gco ='git checkout' 中别名子命令的 Tab 补全

我有一个别名:aliasgco='gitcheckout'如何像输入gitcheckout一样添加制表符补全?对于我的aliasg='git',我使用compdefg='git'。我一直在尝试使用compdef但我没有取得任何成功。 最佳答案 禁用此选项,你也很好......#don'texpandaliases_before_completionhasfinished#like:gitcomm-[tab]#setoptcomplete_aliases 关于git-zsh:aliasgc