fish shell 下golang的gopath的设置问题
GOPATH可以设置多个工程目录,linux下用冒号分隔(必须用冒号,fish shell的空格分割会出错),windows下用分号分隔,但是go get 只会下载pkg到第一个目录,但是编译的时候会搜索所有的目录。
在fish shell下,使用 set -x GOPATH "PATH1:PATH2:PATH3" 来设置(记住要双引号),不能使用 set -x GOPATH PATH1 PATH2 PATH3, 这一点确实很特殊。
fish shell 下还有另外一种自动方法,利用fish shell的function:
1、先用 set -x default_GOPATH
go/default/gopath 来设置一个默认的gopath
2、然后新建一个cd函数,位于 ~/.config/fish/functions/cd.fish:
function cd builtin cd $argv set cdir (pwd) while [ "$cdir" != "/" ] if [ -e "$cdir/.gopath" ] set -x GOPATH $default_GOPATH:$cdir return 0 end set cdir (dirname "$cdir") end set -x GOPATH $default_GOPATH return 0 end
但是这种方法并不推荐,因为有些时候切换目录不一定用到cd命令。
另外,查看go的全部环境变量可以使用 go env 命令,看看自己设置的对不对。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
支付宝扫一扫捐赠
支付宝扫一扫捐赠
![支付宝扫一扫捐赠](https://images.cnblogs.com/cnblogs_com/welhzh/2159800/o_220512091701_hzh_alipay.jpg)
微信公众号: 共鸣圈
欢迎讨论,邮件: 924948$qq.com 请把$改成@
QQ群:263132197
QQ: 924948