Windows环境下go项目无法执行wire命令
原因是,路径有问题。需要手动的指定路径。
$ 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 工具版本。