我的文件夹结构是正确的,我可以go install从包文件夹内部和系统中的任何位置运行,然后添加包(文件夹)名称install.
例如,我的工作区如下:
Go\
bin\
pkg\
src\
name\
file.go
Run Code Online (Sandbox Code Playgroud)
那么,如果我跑
cd %GOPATH%\src\name
go install
Run Code Online (Sandbox Code Playgroud)
要么
go install name
Run Code Online (Sandbox Code Playgroud)
没有生成错误,我的工作区变为以下内容
Go\
bin\
pkg\
windows_amd64\ <-- new!
name.a <-- new!
src\
name\
file.go
Run Code Online (Sandbox Code Playgroud)
正确创建包文件,但不创建bin文件.
我的环境如下:
C:\Users\...>go env
set GOARCH=amd64
set GOBIN=C:\Users\myname\Documents\Go\bin
set GOCHAR=6
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\myname\Documents\Go
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我错过了什么,做错了什么?我希望bin文件与包文件一起创建.
Von*_*onC 45
一个原因可能file.go是不在package main.
请参阅" 您的第一个程序 "
如果是,那将生成可执行文件bin.
文章" go build命令如何工作? "确实提到:
Go命令是一个名为的包
main.
主包或命令的编译方式与其他包一样,但是需要经过几个额外的步骤才能链接到最终的可执行文件中.