英文:
Multiple GOPATH's in fish shell
问题
我正在使用fish shell。config.fish文件中设置了GOPATH环境变量如下:
set -x GOPATH $HOME/Documents/Programming/go/3rdparty:$HOME/Documents/Programming/go/own
我有两个问题。
第一个问题:无法直接调用3rdparty/bin目录下的可执行文件,比如golocc或者godep。我必须进入该目录并使用./godep等方式来调用。我该如何使godep可以全局调用?
第二个问题:我无法使用cd命令进入$GOPATH目录。执行cd $GOPATH后显示如下错误:
cd: The directory '/Users/xxx/Documents/Programming/go/3rdparty:/Users/xxx/Documents/Programming/go/own' does not exist
我猜测这两个问题都是由于我的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?
答案1
得分: 2
GOPATH只与Go工具包相关,您需要设置PATH变量。
由于您的GOPATH中有多个文件夹,您需要按照以下方式进行设置:
set -gx PATH $PATH $HOME/Documents/Programming/go/3rdparty
set -gx PATH $PATH $HOME/Documents/Programming/go/own
对于第二个问题,您无法直接这样做,一个解决方法是使用多个变量,例如:
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
然后您就可以使用$GOPATH1或$GOPATH2进行cd操作。
英文:
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
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。


评论