go语言的包管理 go语言的包管理工具

Go语言版本控制及包依赖管理这个文件通过路径标识 rsc.io/hello 定义了一个模块 , 它本身还依赖于两个其他模块:golang.org/x/text 和 rsc.io/quote,这个模块自身编译的时候使用的是 go.mod 文件中指定的依赖列表的版本 。对于更上一层的编译 , 其他导入这个模块的地方将使用它较新的版本编译 。
包发布者最好使用语义化的 tag 发布版本 , vgo 也鼓励通过打tag的版本号方式 , 而不是任意的提交版本 。
Go语言有什么好用的IDE吗【go语言的包管理 go语言的包管理工具】我喜欢jetbrains系列的IDE+go插件 。不过我要说的是这个问题主要看你的观点如何 。
说eclipsego语言的包管理:
构建方式是使用go install 命令,每一次编译运行都是go install 。这样的好处就是如果你有很多的包,下载下来并没有编译,这样每次编译速度是很快的 。而且(go语言的包管理?。ゞo install 符合go官方的项目结构,官方说过go语言的包管理了,一个go的项目应该是以个gopath,包含src , pkg,bin三个主要目录 。所以说go install个人认为才是主要的go编译方式 。
说eclipse的缺点go语言的包管理:
其实eclipse插件的go编译方式,还有目录结构 , 项目结构,都是非常完美的?。。。≌娴暮芡昝溃】墒? ,他的代码提示,太差件!大括号都不能自动补全,gdb 32bit 64bit兼容问题,eclipseC++ 没有html js插件,需要手动安装 , 几乎不能开箱即用 。不过如果你是开发算法,数据处理 , 还是推荐eclipse的,毕竟其他都无关紧要 。
说jetbrains:
说先说clione肯定不适合 , 新建项目没有向导,导致改成go项目各种不开心,比如图标对于我来说就无法接受go lib 不是小耗子~这是次要的,重要的是各个文件都是灰色的(没有在cmake中包含的结果),然后说剩下的,phpstorm这个不说go语言的包管理了,估计很少有人插件按在这里,webstorm,体验也不是很好 , idea?体验很好,可是毕竟比较重,尤其是现在加入了自家的K啥玩意(无意冒犯 , 没记住单词)~可是话说回来,go跟C系列IDE配合才是最佳,跟java系列一点不搭关系,用idea似乎有点格格不入 , 但是!idea支持新建项目向导 , lib的图标也很清晰,最后还是选择idea吧,期待clion的强大起来!
再说jetbrains系列缺点:
插件的构建方式是go buiild 这个让人很不爽,我们几乎不确定会构建到什么地方去,还要每次设置一下run配置 。这个可能无关紧要,毕竟不是什么大的毛病,可是go build不能缓存.a文件,直接构建的结果就是很多第三方包的情况下很慢!所以建议安装包的时候手动install 一下解决这个问题 。自带代码格式化,这个格式化跟go 格格不入,总的来说就是蛋疼,心碎,菊花痒 。
最后说liteIDE:
轻量级IDE,我可以说是国人GO伟大作品典范,然而默认构建也是go build , 项目管理方式不符合go官方标准 。代码提示不能自动导入(eclipse也不能),不过如果你的项目是以包为单位的,那么另当别论 。一定很不错 , 毕竟是轻量级专门针对GO的IDE!
说这些 , 其实还有很大一部分取决于你的项目是用vendor机制管理,还是godeps机制管理依赖关系 。go不像java拥有强大的几乎天下一统的maven(无意冒犯 , 暂不评价其他构建套件) 。
go没有官方包仓库 。
go没有官方包管理工具 。
go没有官方自动化构建套件 。
上面三个没有是致命要害 。导致民间各种百花齐放 。
说说我的项目怎么管理

推荐阅读