GOPATH 使用总结

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

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

对于有些状况,好比,在 GOPATH 所在的路径以外执行 go install 会怎么样,能够本身试验一下。mysql

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

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

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

 

 

 

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

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

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 离线包?

相关文章
相关标签/搜索