作为 Go 使用者,你如何评价 go module ?

2018-09-26 15:59:21 +08:00
 GTim

这个问题是在百度后台看到的问题,觉得挺有意思的。

因为好几次看到有人使用这个关键字搜索,索性,我就代他询问下大家。


我自己虽然也写了几篇介绍文章,但对 go module 真的是无感,既没那么兴奋,也没那么失望。

相比于其它语言,go 的模块化 /( 包 )版本化之路走的太艰辛了

我现在最期待的是 go module 带来的 proxy 功能,期待在这个 proxy 之上构建的中央仓库。

10582 次点击
所在节点    Go 编程语言
56 条回复
wspsxing
2018-09-27 13:09:39 +08:00
@AngelCriss cmake 可以的😀,很强大
gowk
2018-09-27 15:39:50 +08:00
用 Java,Rust,C 艹 用的爽你们尽管去用嘛,感谢 Go 设计成现在的样子,把你们这些人拒之门外
GTim
2018-09-27 16:04:27 +08:00
@gowk 消消气
kefengong
2018-09-27 18:14:46 +08:00
@kenkao 其实 go get 拉 github 源码库这种操作,npm 也支持,不过恶心的是 go get 好像不支持指定 tag 和 分支
askfilm
2018-09-27 18:33:16 +08:00
我能说我一直觉得 go 就是大厂的玩具吗?
AmorZhang
2018-09-27 20:32:01 +08:00
@neoblackcap 吵什么 go 语言是开源的 不满意就去改啊 官方不合并就自己 fork 啊
jitongxi
2018-09-27 22:21:12 +08:00
@gowk 与你同感, 同欢喜....
kidlj
2018-09-27 23:03:42 +08:00
搁这里讨论 go module 的,有几个是看过 rsc 那几篇阐述博客的,举手我看看?
ensonmj
2018-09-28 11:02:16 +08:00
@neoblackcap python 的依赖管理也说不上多好吧,或许是我不太熟,求问对于一个 python app,怎么方便的把所有依赖都下下来?
GTim
2018-09-28 13:37:08 +08:00
@ensonmj [Python Pip 参考手册 - pip download 命令]( https://www.twle.cn/t/84#reply0)
ensonmj
2018-09-28 17:29:50 +08:00
@GTim 看了下链接,这个命令需要指定包或者 request 文件。这个 go get 自动分析代码里面使用的包,再下载好像不是一回事?
GTim
2018-09-28 18:02:56 +08:00
@ensonmj 一样的,比如下载 flask

```python
➜ my-app git:(master) ✗ ls

➜ my-app git:(master) ✗ pip download flask
Collecting flask
Using cached https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl
Saved ./Flask-1.0.2-py2.py3-none-any.whl
Collecting Jinja2>=2.10 (from flask)
Using cached https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl
Saved ./Jinja2-2.10-py2.py3-none-any.whl
Collecting itsdangerous>=0.24 (from flask)
Using cached https://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz
Saved ./itsdangerous-0.24.tar.gz
Collecting Werkzeug>=0.14 (from flask)
Using cached https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl
Saved ./Werkzeug-0.14.1-py2.py3-none-any.whl
Collecting click>=5.1 (from flask)
Using cached https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl
Saved ./Click-7.0-py2.py3-none-any.whl
Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->flask)
Using cached https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz
Saved ./MarkupSafe-1.0.tar.gz
Successfully downloaded flask Jinja2 itsdangerous Werkzeug click MarkupSafe

➜ my-app git:(master) ✗ ls
Click-7.0-py2.py3-none-any.whl MarkupSafe-1.0.tar.gz
Flask-1.0.2-py2.py3-none-any.whl Werkzeug-0.14.1-py2.py3-none-any.whl
Jinja2-2.10-py2.py3-none-any.whl itsdangerous-0.24.tar.gz

➜ my-app git:(master) ✗
```
newdas
2018-12-13 16:57:39 +08:00
@neoblackcap 人家发明的语言,免费给你用,你还这么不满意
lideshun123
2019-01-08 11:43:44 +08:00
太难用了 只要用到 golang/x 的都需要翻墙
sunday9th
2019-01-11 11:48:00 +08:00
@lideshun123 +1, 本来 github 上的镜像 clone 下来能用,用了 module 直接凉了。真的是一顿操作猛如虎,一看战绩零杠五。
whit
2019-03-25 11:25:55 +08:00
@sunday9th go.mod 中可以自己 replace 的,我是觉得很方便,以前还得自己 clone 后替换,现在直接一行代码搞定了。
```
replace (
golang.org/x/net v0.0.0-20181220203305-927f97764cc3 => github.com/golang/net v0.0.0-20181220203305-927f97764cc3
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 => github.com/golang/sync v0.0.0-20181221193216-37e7f081c4d4
golang.org/x/sys v0.0.0-20181228144115-9a3f9b0469bb => github.com/golang/sys v0.0.0-20181228144115-9a3f9b0469bb
jhy/core => ../core
)

```
最后一个是我本地上层目录中自己写的一个包

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

https://yangjunhui.monster/t/492810

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

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

© 2021 V2EX