Windows环境下go项目无法执行wire命令

原因是,路径有问题。需要手动的指定路径。
image

$ ROOT_DIR=e/workProject/cloud-base/src/talon/app make wire
wire: generate failed
make: *** [Makefile:17: wire] Error 1

$ ROOT_DIR=E:/workProject/cloud-base/src/talon/app make wire
wire: git.17usoft.com/abc-cloud/talon/cmd/apiserver/app: wrote E:\workProject\cloud-base\src\talon\app\cmd\apiserver\app\wire_gen.go
wire: git.17usoft.com/abc-cloud/talon/cmd/watchdog/app: wrote E:\workProject\cloud-base\src\talon\app\cmd\watchdog\app\wire_gen.go

还有可能出现的情况

go在执行wire的时候出现“wire: -: directory cmd\apiserver\app outside main module or its selected dependencies”错误是什么原因?
这个错误提示意味着 wire 命令在执行时无法处理指定的目录 cmd\apiserver\app,因为该目录位于主模块外部或其所选的依赖项之外。

这通常发生在以下情况:

您正在尝试在不是 Go 模块的根目录中运行 wire 命令。请确保您的工作目录是包含 Go 模块的根目录。
cmd\apiserver\app 目录不是在 Go 模块中定义的。请确保在您的 Go 模块中包含该目录。
您的 Go 模块配置不正确。请检查您的 go.mod 文件以确保所有依赖项都正确声明并且没有语法错误。
要解决此问题,您可以尝试以下步骤:

确认您的工作目录是 Go 模块的根目录。

确认 cmd\apiserver\app 目录包含在您的 Go 模块中。可以在 go.mod 文件中查找该目录的条目。

如果需要,请检查您的 Go 模块配置,以确保所有依赖项都正确声明并且没有语法错误。

如果仍然无法解决问题,请尝试升级您的 Go 版本和 wire 工具版本。

posted @ 2023-03-05 20:36  飞飞很要强  阅读(386)  评论(0编辑  收藏  举报