为了账号安全,请及时绑定邮箱和手机立即绑定

go install 创建目录 os_arch - 选择不同的输出目录

go install 创建目录 os_arch - 选择不同的输出目录

Go
当年话下 2021-09-09 13:48:16
我的fib包有这个文件夹结构:$ tree .└── src    └── fib        ├── fib        │   └── main.go        ├── fib.go        └── fib_test.go(main.go在包里main,fib(_test).go在包里fib)GOPATH 设置为$PWD/src,GOBIN 设置为$PWD/bin。当我运行时go install fib/fib,我得到一个fib在目录中调用的文件bin(这是我所期望的):$ tree bin/bin/└── fib但是当我设置GOOSor 时GOARCH,GOOS_GOARCH会创建表单中的目录:$ GOARCH=386 GOOS=windows go install fib/fib$ tree bin/bin/└── windows_386    └── fib.exe这不是我想要的。我想将文件fib.exe放在bin目录中,而不是在子目录中bin/windows_386。(这怎么可能?
查看完整描述

2 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

这似乎不可能,如issue 6201 所示

GOARCH设置要构建的二进制文件的类型。
您可能正在交叉编译:GOARCH可能是 arm。
您绝对不想armx86系统上运行该工具。
主机系统类型是GOHOSTARCH.

要安装您需要使用的 api 工具(或任何工具)

GOARCH=$(go env GOHOSTARCH) go install .../api

然后简单的 ' go tool' 会找到它们。

在任何情况下(GOARCHGOHOSTARCH),该go命令都将安装在您无法更改的固定位置。


查看完整回答
反对 回复 2021-09-09
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

短语“我(不)想要”与 go 工具不兼容;go 工具是如何工作的。您可以 a) 在使用 go 工具安装文件后将文件复制到您想要的位置,或者 b) 自己编译它,例如通过手动调用 6g(在这里您可以指定输出)。如果您对 go 工具的工作方式不满意,只需切换到您喜欢的构建工具,例如普通的旧 Makefile。请注意,go 工具也可以帮助您,例如通过调用编译器go tool 6g


查看完整回答
反对 回复 2021-09-09
  • 2 回答
  • 0 关注
  • 222 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信