GOPATH 使用总结

GOPATH 环境变量用于指定这样一些目录:除 $GOROOT 之外的包含 Go 项目源代码和二进制文件的目录。go install 和 go 工具会用到 GOPATH:作为编译后二进制的存放目的地 和 import 包时的搜索路径。

GOPATH 是一个路径列表,也就是可以同时指定多个目录。多个目录在 Mac 和 Linux 下通过“:”分割,Windows下通过“;”分割。注意,大部分情况下会是第一个路径优先,比如:查找包

对于有些情况,比如,在 GOPATH 所在的路径之外执行 go install 会怎么样,可以自己试验一下。

个人建议 GOPATH 中别设置多个路径,甚至不显示指定 GOPATH。可参照《Go 项目的目录结构 及 安装技巧》

有些地方建议在设置了 GOPATH 之后,将 $GOPATH/bin 加入 PATH 中,这样可以方便的运行 go install 好的二进制程序。然而,当存在 GOPATH 中存在多个路径时,这种写法只会将最后一个路径跟上bin。在mac或linux下可以通过这种方式解决:

${GOPATH//://bin:}/bin

 

 

 

附1:个人 Mac 电脑的 GOPATH 环境变量 参考

环境文件:~/.bash_profile 的内容如下:

alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

export GOROOT=/usr/local/go
export GOPATH=/Users/jianbao/GoglandProjects/beego-api-admin:/Users/jianbao/GoglandProjects/go-study

export PHP=/usr/local/php/php-7.1

export PATH=$GOROOT/bin:${GOPATH//://bin:}/bin:$PHP/bin:$PHP/sbin:/usr/local/nginx/sbin:/usr/local/mysql:/usr/local/Cellar/subversion/1.9.4/bin:$PATH
#
# 注意:亮点是 ${GOPATH//://bin:}/bin, 可一次性添加 所有的 GOPATH 的 bin 目录
#

 

附2:如何安装 第三方 Go 离线包?

你可能感兴趣的:(GOPATH 使用总结)