1 回答

TA贡献1765条经验 获得超5个赞
您应该能够使其与以下各项配合使用:
go build -o ./test ./cmd/test/*.go
这是因为 go 生成命令将导入路径列表或 .go 文件列表作为其参数。[packages]
go build [-o output] [build flags] [packages]
Build 编译按导入路径命名的 及其依赖项,但不安装结果。packages
如果要生成的参数是来自单个目录的 .go 文件的列表,则生成会将它们视为指定单个包的源文件列表。
...
您的参数既不是导入路径,也不是 .go 文件的列表。cmd/test/
如果你想从它的目录内容构建一个包,你可以使用,你的shell通常会用该目录中的.go文件条目列表替换它。./cmd/test/*.go
但请注意,推荐的方法是使用 go 模块。对于模块,您可以通过指定其导入路径而不是目录的内容来构建软件包。例如,给定如下项目结构:
program
└── cmd
└── test
└── test.go
您将从项目的根目录中:go mod init
go mod init program
这将为您的项目创建一个新文件:go.mod
program
├── cmd
│ └── test
│ └── test.go
└── go.mod
然后您可以使用其导入路径(根植于模块的路径)构建包,例如:
go build -o ./test program/cmd/test
- 1 回答
- 0 关注
- 117 浏览
添加回答
举报