我的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。
您绝对不想arm
在x86
系统上运行该工具。
主机系统类型是GOHOSTARCH
.要安装您需要使用的 api 工具(或任何工具)
GOARCH=$(go env GOHOSTARCH) go install .../api
然后简单的 '
go tool
' 会找到它们。
在任何情况下(GOARCH
或GOHOSTARCH
),该go
命令都将安装在您无法更改的固定位置。
叮当猫咪
TA贡献1776条经验 获得超12个赞
短语“我(不)想要”与 go 工具不兼容;go 工具是如何工作的。您可以 a) 在使用 go 工具安装文件后将文件复制到您想要的位置,或者 b) 自己编译它,例如通过手动调用 6g(在这里您可以指定输出)。如果您对 go 工具的工作方式不满意,只需切换到您喜欢的构建工具,例如普通的旧 Makefile。请注意,go 工具也可以帮助您,例如通过调用编译器go tool 6g
- 2 回答
- 0 关注
- 222 浏览
添加回答
举报
0/150
提交
取消