所以现在 Go 到底应该用什么包管理器?

2019-03-18 16:27:10 +08:00
 liuzhaowei55

手头项目有有 Go 写的,但自己有段时间没有关注 Go 了,之前官方有钦定一个包管理器,现在主流的是哪个?

9553 次点击
所在节点    Go 编程语言
77 条回复
myyou
2019-03-18 16:30:47 +08:00
go mod
nimrc
2019-03-18 16:31:24 +08:00
dep
rayhy
2019-03-18 16:33:03 +08:00
Go mod。现在都开始或者已经切到这个上面了。升级一下 golang 就行。

说起来,想稍带问问 golang 现在用哪个 error 包? go2 的出来还有一段距离,但如果用 pkg/errors,可能很快就得切,还能和 go2 兼容吗?
toma77
2019-03-18 16:37:04 +08:00
我们前端用的 govendor,后端用的 go mod,前端不用 go mod 主要是前端都是 vscoder,没有提示跳转。。
reus
2019-03-18 16:53:40 +08:00
go 命令自带的

谁还用其他的就是自找麻烦
huiyifyj
2019-03-18 16:55:23 +08:00
go mod 啊
go1.11 开始支持了。
但还是吐槽下,go 的包管理真的垃圾
pmispig
2019-03-18 16:59:27 +08:00
什么? go 有包管理器?
janxin
2019-03-18 17:00:03 +08:00
go mod,vscode 用 LSP,不用 LSP 会非常难用
reus
2019-03-18 17:11:52 +08:00
@huiyifyj go 的包管理基本就等于用 git 管理,没有其他包管理工具有这个灵活性。
sulinehk
2019-03-18 17:28:59 +08:00
@rayhy 如果你说的是 error 包装之类的功能的话,现在标准库里面的 error 包就有了
meteor957
2019-03-18 17:39:37 +08:00
gopm
rayhy
2019-03-18 17:47:34 +08:00
@sulinehk https://golang.org/pkg/errors/
这个吗?还是只有一个 new 啊
Heavytiger
2019-03-18 17:48:55 +08:00
go mod + 1
kiwier
2019-03-18 18:00:47 +08:00
go dep、vgo 或者 go mod
huiyifyj
2019-03-18 18:02:43 +08:00
@reus #9
不觉得,要我说还是 rust 的包管理好。
janxin
2019-03-18 18:03:42 +08:00
@rayhy 使用 fmt 的 Errorf 功能或者 golang.org/x/xerrors,功能会在 1.13 版本中进入标准库
xfriday
2019-03-18 18:12:33 +08:00
go mod + goland
sulinehk
2019-03-18 18:13:22 +08:00
@rayhy 啊 我看的是 github 上面的源码 可能是还没合并到主版本吧
releaseme
2019-03-18 18:15:45 +08:00
@reus 如果你指的灵活性是指 安装指定 tag,commit,branch git repo 依赖,nodejs 几年前就有了,rust 应该也有
justfly
2019-03-18 18:17:36 +08:00
官方搞了 go mod,所以以后这是趋势,写代码中去不用千里迢迢跑到像 java 一样深的 GOPATH 目录下了。

但是这货有一些坑,比如默认忽略 vendor,对于 cgo 的库,用前需要 configure 根据环境的生成 c 代码的基本无解,go mod vendor 不会把他认为你用不到的文件放到 vendor 文件夹,即使他已经下载下来了,一些要 go generate 或者 cgo 的依赖文件就很麻烦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/545839

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX