感觉go的包管理简直就是智障
来源:19-2 课程总结

roadup
2018-03-18
每个项目不能管理自己独立的依赖,还非得放在GOPATH下面,不对工具和第三方包作区分,几乎每个project都得有一套自己的工具,三方包管理工具都乱成一锅粥了,官方还堂而皇之的要你把第三方包的源码直接加入版本控制器中,不知道官方怎么想的,感觉这东西就是Google自己玩的,没打算当一门真正的语言来推广,估计要放弃了,从没见过这么恶心的项目管理方式
写回答
1回答
-
ccmouse
2018-03-23
这个呢,首先我们不要用这样主观的语言来描述go语言包管理的问题,这样对同学自己或是对go语言本身都没有帮助。
对于包管理,我是这么理解的。包管理和语言,本身就是两个不同的项目。c/c++有make。java看似classpath是个很朴素的想法,你运行的时候告诉我类在哪里嘛,但实际上给人们也带来了很多痛苦,直到maven/gradle这样的方案。同样,python后来也才有了pip,anaconda等。我们看到依赖管理一般都滞后于语言本身。go语言现在也面临这样的情况。
那么说到gopath,go语言试图不依赖于配置文件就能够编译,因此import里面的内容在哪里呢?那么gopath就是一个比较自然的设计。30
相似问题