像 Python
安装的第三方包都会统一安装到一个目录下(比如:/home/bot/.local/lib/python3.10/site-packages
),所有的项目都从那里导包。
golang
的 第三方包管理机制是什么样子的?
为什么要有 GOPATH
和 GOROOT
这种东西?他们对包的存储和导包有什么关系?
和 JAVA_HOME
有什么区别?
golang
有类似 Python
的集约化管理第三方包的方式吗?千万别是每个项目都是独立安装第三方包吧!
为什么我会有这个疑问?因为我看到一堆教程里面都是把每个项目都给一个 GOPATH,然后安装的东西都是安装在 GOPATH 下面?有 100 个项目要重复安装 100 次?
去哪里看所有安装的第三方包?
全局安装就是一个第三方包 XXX 只在硬盘上存一份,10000个项目公用那一份,而不是 10000 个项目都需要安装 10000 次这个 xxx 第三方包
仅供供参考:
GOPATH and GOROOT 是golang中的环境变量,其容易可以更改;
GOROOT: 存放与golang相关的 compiler 和 tools;
GOPATH 之前是项目的工作目录(workspace);
When using modules, GOPATH is no longer used for resolving imports.
However, it is still used to store downloaded source code (in GOPATH/pkg/mod) and compiled commands (in GOPATH/bin)