在 Go 1.11 版本之后,Go 引入了 Go Modules 的特性,用于管理项目的依赖关系。在使用 Go Modules 时,如果你的项目中包含了 vendor 目录,那么在使用 go 命令时可能会遇到类似的报错信息 'cannot query module due to -mod=vendor'。

这个错误是因为 Go Modules 默认会忽略 vendor 目录中的依赖,而直接查询远程仓库。如果你想要继续使用 vendor 目录中的依赖,可以通过以下几种方式解决这个问题:

  1. 在项目根目录下执行以下命令,禁用 Go Modules 的 vendor 模式:

go env -w GO111MODULE=off


2. 在 go.mod 文件中添加以下配置,允许使用 vendor 目录中的依赖:

replace ( example.com/module-name => ./vendor/example.com/module-name )


3. 在 go.mod 文件中添加以下配置,指定使用 Go Modules 的 vendor 模式:

replace ( example.com/module-name => example.com/module-name vX.Y.Z )


4. 如果你的 Go 版本低于 1.14,可以尝试升级到 Go 1.14 或更高版本,因为从 Go 1.14 开始,Go Modules 默认会支持 vendor 目录中的依赖。

这些解决方法中,推荐使用前两种方式,因为它们更加灵活和通用。你可以根据自己的项目需求选择适合的方法来解决问题。
Go 语言代码报错 'cannot query module due to -mod=vendor' 解决方法

原文地址: https://www.cveoy.top/t/topic/pkfp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录