之前有学过一段时间Go语言,前几天忽然发现我的GoPath目录下居然只有src,pkg两个文件夹,那么我的bin文件夹去哪里了呢,仔细看了一下终于发现问题之所在,以下简单介绍一下解决办法。
|– bin 放编译后的可执行文件,可执行文件名字与源代码文件名字一样
|– pkg 放编译后的包文件,包文件名字与所在目录一样,注意:名字与 package 无关
|– src 放源代码文件
GoPath文件结构如下
D:.
├─bin
│ test.exe
│
├─pkg
│ └─windows_amd64
│ mymath.a
│
└─src
├─mymath
│ mymath.go
│
└─test
test.go
src目录
此目录是自己在GoPath目录下手动创建的,用于放源代码文件。
- 手动在
GoPtah目录下添加src目录,如图:
- 新建两个文件夹
mymath,test,分别添加mymath.go,test.go.
结构如下:
├─mymath
│ mymath.go
│
└─test
test.go
|
|
|
|
pkg目录
此目录是在src的源文件目录下对.go文件通过go install之后自动生成的,放编译后的包文件。由于在尝试过程中我暂时没有发现pkg录出现像bin目录那样不会自动生成的情况,所以这步暂时没有问题。
在
src/maymath目录下打开cmder运行go install命令,可以发现GoPath目录下自动生成了pkg目录。如图
在
src/test目录下打开cmder运行go build命令,可以发现GoPath目录下并没有自动生成了bin目录,而是在当前目录下生成了test.exe。如图
bin目录
此目录是在src的源文件目录下对 .go文件通过go build和go install之后自动生成的,.go文件要调用pkg下的包文件。那么问题来了,bin目录有时候就不会生成,最后我才发现是环境变量GOBIN的原因。废话不多说直接上图。
查看
GO环境变量
找到
GOBIN环境变量删除
查看修改后的
GO环境变量
删除test/test.exe,在当前目录下打开
cmder运行go install,查看GoPath目录结构即可发现bin已自动生成,如图:
Go环境变量配置
- GOROOT:Go的安装目录
- GOPATH:用于存放Go语言Package的目录,这个目录不能在Go的安装目录中
- GOBIN:Go二进制文件存放目录,写成%GOROOT%\bin就好
- GOOS:操作系统
- GOARCH:指定系统环境,i386表示x86,amd64表示x64
- PATH:需要将%GOBIN%加在PATH变量的最后,方便在命令行下运行Go
- 其他
GO环境变量可以用cmd命令查询
更多资料
注:以上提到的cmder是一个cmd工具,详细请查看前面的文章

























