繁体   English   中英

GOPATH 环境变量未在 Fish shell 中设置?

[英]GOPATH environment variable not getting set in the Fish shell?

我有一个~/.config/fish/config.fish ,其中包含以下几行:

set PATH $PATH (go env GOPATH)/bin
set -x GOPATH (go env GOPATH)

如果我只是在命令行中运行go env GOPATH ,我会得到默认位置( ~/go ):

> go env GOPATH
/Users/kurt/go

但是,没有定义$GOPATH环境变量:

> echo $GOPATH

为什么没有设置$GOPATH环境变量?

set -x只会影响您当前的 session。 一旦您注销 session,导出将 go 消失。

set --export --global将在所有正在运行的鱼会话中导出您的环境,但是它是短暂的,并且在您注销后不会持续存在。

set --export --universal将在所有运行的鱼会话中导出您的环境,并且是持久的。

-g or --global
       Causes the specified shell variable to be given a global scope. 
Global variables don't disappear and are available to all functions 
running in the same shell.  They can even be modified.

-U or --universal
       Causes  the  specified shell variable to be given a universal scope. 
If this option is supplied, the variable will be shared between all the current 
user's fish instances on the current computer, and will be preserved across 
restarts of the shell

如果您正在运行当前版本的 fish,您可以使用内置的fish_add_path (go env GOPATH)/bin一次,它就完成了,您不必将它放在 conf 文件中。

要将 Go 路径添加到您的 Fish shell,请将以下行添加到您的 config.fish:

set -x GOPATH $HOME/go
set -x PATH $PATH $GOPATH/bin

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM