1
CEBBCAT 2020-08-09 01:38:32 +08:00 1
我也搞不太明白 GOPATH 之类的,但是好像 Go Module 的原文件都被放在了${GOPATH}/pkg/mod 下了
|
2
lrh3321 2020-08-09 07:42:51 +08:00 via Android
感觉是,${GOPATH}/pkg/mod 下面缓存了一堆包的 git 裸仓库,根据 go.mod 文件再 checkout 出对应版本的包缓存在里面,编译的时候自动使用对应的版本
|
3
sadfQED2 2020-08-09 09:26:28 +08:00 via Android
使用 go mod 后就能用了呀
|
5
morize OP 感谢楼上三位的回复,晚上继续研究了一下 Go Module,确实如楼上几位所说。但上手觉得有点不友好,引用本地的 package 还得先 require 再 replace 成本地路径,无疑增加了学习成本。如果用 GOPATH 的模式,又得跳出当前的项目范围去 ${GOPATH}/src 下修改,也是不方便。
这一通折腾的感想就是刚开始学习不要碰 Go Module,徒增烦恼,老老实实把项目放在 ${GOPATH}/src 下,等有依赖管理的需求再去搞 Go Module 。 |
6
tairan2006 2020-08-10 09:19:49 +08:00
GOPATH 的包是装在全局的,有什么用? npm -g 有啥用,GOPATH 就有啥用啊…
|
7
morize OP @tairan2006 只用 GOPATH 就是把所有包 npm -g 安装了, 而且还没有依赖管理。相比之下 npm 的依赖管理设计和项目组织都比 Go Module 都好太多了,更不用说 GOPATH 了。
|