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