goget, 一个比 go get 更方便的装包工具

2020-07-23 11:32:34 +08:00
 saltbo

介绍

Gopher,你是否每次装包都得打开 GitHub 去搜索,然后 Copy 包的地址,最后再 go get github.com/xxx/xxx,是不是太麻烦了。

对于一些常用的包,我们知道他的名字,但是却记不住他的全路径,所以每次都会重复上述场景。

现在 goget 来解决这个问题。

对比

传统方式:go get -u github.com/gin-gonic/gin

便捷方式:goget gin

项目地址

https://github.com/saltbo/goget

5008 次点击
所在节点    程序员
71 条回复
kidlj
2020-07-23 14:47:20 +08:00
chennqqi
2020-07-23 14:48:21 +08:00
export GOPROXY=https://goproxy.cn 不香吗
saltbo
2020-07-23 14:58:30 +08:00
@kidlj 棒 这个工具正好是我想找的。 可以用来下载 release 的文件。 但是,这个跟我的不是一个用途啊~
saltbo
2020-07-23 14:59:16 +08:00
@chennqqi goget 不是要替代 gomodules 。。
lasuar
2020-07-23 15:00:51 +08:00
$ go get github.com/saltbo/goget
go: github.com/saltbo/goget@v1.0.0: parsing go.mod: unexpected module path "github.com/saltbo/gomods"
go: error loading module requirements
saltbo
2020-07-23 15:24:55 +08:00
@lasuar 改了个名,再试下
chennqqi
2020-07-23 16:36:11 +08:00
@lasuar 确实没仔细看你的用途。。但是 get 不到你这个软件的点,支持开源。真的感觉是个伪需求。。。go mod 的路径和 go get 路径不一样。。自己在写代码的时候使用哪个库显然是知道的,导入后 go mod 自己下载。另外搭个车 go-get.cn 这个域名你考虑不。。便宜点出给你
saltbo
2020-07-23 17:08:31 +08:00
@chennqqi 请你默写 gin 的 go get 命令
Kr98
2020-07-23 17:17:21 +08:00
@saltbo 不需要 go get 这个命令的。
第一次使用在代码里写一下 import 地址,go module 会自动下载。
第二次使用你在代码里写'gin',goimports 会自动帮你修改 import 列表。
saltbo
2020-07-23 17:29:35 +08:00
@Kr98 我解决的就是在新项目里第一次 import 的问题啊
Kr98
2020-07-23 17:32:17 +08:00
@saltbo 只要你的机器上装过一次某个库,goimports 都会自动导入,新项目也一样,所以不存在重复找地址的情况。
Kr98
2020-07-23 17:33:48 +08:00
@saltbo 除非经常换开发机,但很少有人这样吧。
Vegetable
2020-07-23 17:40:01 +08:00
@saltbo #30 go mod 的流程一般是先在文件里 import,如果本地已经有了这个包(一般常用的包本地用过就会缓存下来),可以直接补全的,go mod 自己会处理后续。只有本地没有的情况下才需要手动写 import 完整地址,但是这情况还是比较少见的。换句话说,go mod 环境不需要显式 go get,你如果做一个 ide 插件聚焦在搜索上,会更好用一点,这种命令行工具,可能的确很多人不感冒。
saltbo
2020-07-23 17:47:35 +08:00
@Kr98 我靠 是我配置有问题么 还是 Goland 不支持? 我新建项目从来都没有自动导入过啊
saltbo
2020-07-23 17:48:13 +08:00
@Vegetable 你用的 goland 还是 vscode ?
zhs227
2020-07-23 17:53:30 +08:00
我见过不少 GO 的库自身是带有一个工具的,而这个工具经常也是需要安装的。比如用来生成脚手架代码等,工具还是挺 好用的。只是不扶墙连不上。
Vegetable
2020-07-23 18:00:47 +08:00
@saltbo #35 我是 VScode+Language Server,我倒也不知道这个自动 import 是哪个工具提供的,反正能用。
saltbo
2020-07-23 18:06:20 +08:00
@Kr98 我好像知道了 你还在用 GOPATH 吧 如果走 go mod, 你不进行 go get 就不会自动导入的
saltbo
2020-07-23 18:07:52 +08:00
@Vegetable 我不喜欢用 vscode 写 go 但是我想了解下 既然你用 go mod 了 那么当你新建一个项目然后执行 go mod init newproject 这个时候你去 main.go 里写 gin. 会自动导入么?
Vegetable
2020-07-23 18:11:56 +08:00
@saltbo #39 会的,前提是我本地用过 gin 这个包,输出 gin 就会出现补全 Enter 就导入了,也可以直接访问方法。
如果完全没用过的包,像上边有人提到的更换开发机的话,需要手动处理一次。

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

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

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

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

© 2021 V2EX