go版本匹配错误解决

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nxb593427560/article/details/82972601

go版本匹配错误解决

compile: version * does not match go tool version *

由于我的mac是公司的电脑,在收回管理员权限之前,安装了go1.10.4版本,使用pkg安装,默认安装在/usr/local/目录下。后面公司收回了管理员权限。因而我在升级版本是碰到一点小问题。由于没有管理员权限。不能删除已安装的版本, 也不能覆盖安装。因此就放在了自己的家目录下。并将bin路径加入环境变量。go命令能正常使用,但是编译的时候出问题。提示 go tool 版本不匹配。

解决:
在.bash_profile或.profile或其他profile中配置:

export PATH=$HOME/go/bin:$PATH
GOTOOLDIR="$HOME/go/pkg/tool/(platform)"

* $HOME/go/bin需要放在前面,不然还是老版本的;platform是对应的系统平台

问题复现

  1. 下载pkg安装包
  2. 没有管理员权限,不能直接安装
  3. 解压包
    3.1. macOS下pkg安装包解压方式:
      # pkgutil --expand go1.10.4.darwin-amd64.pkg  go1.10.4
      # cd go1.10.4/com.googlecode.go.pkg
      # tar -xvf Payload
      # mv usr/local/go ~/usr/local/go
    
    3.2 tar.gz压缩包解压方式:
    # tar -zxvf go1.10.4.darwin-amd64.tar.gz ~/usr/local
    
  4. 编辑profile文件
    export PATH=$HOME/go/bin:$PATH
    GOTOOLDIR="$HOME/go/pkg/tool/(platform)"
    
  5. 使生效
    # source .profile
    
  6. 检查
    go version //版本是否正确
    go env // 环境时候正确
    编译文件 // 能否正确编译

猜你喜欢

转载自blog.csdn.net/nxb593427560/article/details/82972601