go-包管理


title: go-包管理
tags:

  • go
  • 包管理

背景

每次打开IDE,都变红。如果超过3次,我想着是不是应该将事实弄明白呢。

image-20220121111115117

分析

1、为啥会报错?

肯定是找不到对应的pkg

2、那IDE到底是去哪里找了呢?

理论上是gopath路径下面,👇🏻GOPATH="/root/gopath" 这里,IDE里面可以设置的项目更多

go env的输出

GO111MODULE="on" 
GOPATH="/root/gopath"
GOPROXY="https://goproxy.cn,direct"  # 设置代理,go get的时候快点
GOROOT="/usr/local/go"  # go二进制包的安装地址
GOVERSION="go1.17"  # go版本
image-20220121181545764
3、实际上GOPATH下面是有需要的pkg的
# 需要的包	
-> % ll /Users/linmi/go/pkg/mod/github.com/prometheus
total 0
dr-xr-xr-x   23 linmi  staff   736B  1 21 12:01 client_golang@v1.12.0
dr-xr-xr-x   13 linmi  staff   416B  1 21 12:01 client_model@v0.2.0
dr-xr-xr-x   24 linmi  staff   768B  1 21 12:01 common@v0.32.1
dr-xr-xr-x  122 linmi  staff   3.8K  1 21 12:01 procfs@v0.7.3

# IDE报错的路径
/Users/linmi/go/pkg/mod/src/github.com/prometheus/client_golang/prometheus/promhttp (from $GOPATH)

📢:IDE报错的路径里面多了一层src目录,这就有点出乎意料了。

4、最佳实践

gopath和go mod是互斥的,现在的话肯定是go mod了。最简单&有效的方法,类似python那样,各个项目自己管理自己的包。

go mod vendor # 创建vendor依赖
go mod tidy 

IDE打开go modules的选项,问题自然就解决了

5、Mac上go多版本怎么管理
# 先确认是不是brew管理
-> % which go
/usr/local/bin/go
-> % ll -h /usr/local/bin/go
lrwxr-xr-x  1 linmi  admin    26B 10 12 23:34 /usr/local/bin/go -> ../Cellar/go/1.17.2/bin/go # Cellar这里就能说明是的

# 接着看看有哪些版本,我的本机有3个版本
ll /usr/local/opt | grep go  # opt=options查看可选择的版本
lrwxr-xr-x  1 linmi  admin    19B 10 12 23:34 go -> ../Cellar/go/1.17.2
lrwxr-xr-x  1 linmi  admin    25B 10 13 10:54 go@1.15 -> ../Cellar/go@1.15/1.15.15
lrwxr-xr-x  1 linmi  admin    24B  9 23 11:27 go@1.16 -> ../Cellar/go@1.16/1.16.8
lrwxr-xr-x  1 linmi  admin    19B 10 12 23:34 go@1.17 -> ../Cellar/go/1.17.2
lrwxr-xr-x  1 linmi  admin    19B 10 12 23:34 golang -> ../Cellar/go/1.17.2
lrwxr-xr-x  1 linmi  admin    19B 10 12 23:34 google-go -> ../Cellar/go/1.17.2

# 那要怎么使用brew快捷的进行设置呢
-> % brew link go
Warning: Already linked: /usr/local/Cellar/go/1.17.2
To relink, run:
  brew unlink go && brew link go   # 重新回到最近的版本
->% brew link --overwrite go@1.16  # 看这个就知道是重写了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值