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