鱼壳中有多个GOPATH

I'm using fish shell. config.fish has GOPATH environment as:

set -x GOPATH $HOME/Documents/Programming/go/3rdparty:$HOME/Documents/Programming/go/own

I have two problems.

1st: Can't call executables in 3rdparty/bin directly such as golocc or godep. I must go in the directory and call it as ./godep and so on. How can I make godep to be called globally.

2nd: I can't cd to $GOPATH. cd $GOPATH gives

cd: The directory '/Users/xxx/Documents/Programming/go/3rdparty:/Users/xxx/Documents/Programming/go/own' does not exist

I'm guessing both problems occurs because of my GOPATH. What is the problem?

GOPATH is only relevant to the Go toolkit, you have to set the PATH variable.

Since you have more than 1 folder in your GOPATH you will have to do it like this:

set -gx PATH $PATH $HOME/Documents/Programming/go/3rdparty
set -gx PATH $PATH $HOME/Documents/Programming/go/own

For the second problem, you simply can't do that, on solution is to have multiple variables for example:

set -gx GOPATH1 $HOME/Documents/Programming/go/3rdparty
set -gx GOPATH2 $HOME/Documents/Programming/go/own
set -gx GOPATH $GOPATH1:$GOPATH2
set -gx PATH $PATH $GOPATH1/bin
set -gx PATH $PATH $GOPATH2/bin

Then you will be able to cd $GOPATH1 or $GOPATH2