zoukankan      html  css  js  c++  java
  • fish shell 下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 命令,看看自己设置的对不对。

  • 相关阅读:
    stream流的统计demo
    ResourceBundle 读取文件demo
    spring boot 配置Filter过滤器的两种方式
    java工厂模式demo
    ThreadLocalDemo
    观察者模式Demo
    大数字的计算
    rabbitMQ消息丢失
    CF671E(线段树+单调栈)
    2020集训队作业板刷记录(三)
  • 原文地址:https://www.cnblogs.com/welhzh/p/8846847.html
Copyright © 2011-2022 走看看