go 如果有更好的包管理就好了

2014-12-26 22:18:13 +08:00
 aszxqw

还是包管理的问题, Python 有 pip 和 easy_install , Ruby 有 gem, Node.js 有 npm, golang 真的需要更好的包管理。 go get 还是太原始,比如 npm 和 gem 都可以帮你管理库的编译, 比如用 C/C++ 写扩展库的时候, 编译过程是 npm 和 gem 来操心的, 用户根本不需要知道这个库是怎么编译出来的。 而 go get 无法做到这些

2433 次点击
所在节点    Go 编程语言
32 条回复
nicai000
2014-12-26 22:21:46 +08:00
确实, 不过你这里把Python的包管理当做正面典型? 不是吧...
9hills
2014-12-26 22:28:03 +08:00
Python的包管理绝对不是正面典型。。

pip install lxml,sorry你得先从你的发行版中安装 libxml2,妹的
aszxqw
2014-12-26 22:30:22 +08:00
@9hills 好吧,错夸python了。
nbndco
2014-12-26 22:40:00 +08:00
Python的包管理是反面典型,而且我至今不能理解的是为什么python阵营天天把自己吹到天上去至今却没人写的出一个包管理器
aszxqw
2014-12-26 22:46:47 +08:00
@nbndco 个人觉得最好的包管理是 npm ,没有之一。
binux
2014-12-26 22:51:35 +08:00
@9hills 于是我想看看 npm 是怎么解决 libxml 的,于是 `npm install libxml` 然后:
http://stackoverflow.com/questions/10651822/node-js-libxml-can-not-install

呵呵,半斤八两
aaaa007cn
2014-12-26 22:51:41 +08:00
@nbndco 然后 node-gyp 依赖 python2(咦?
aaaa007cn
2014-12-26 22:52:57 +08:00
@ 错人了=o=
aszxqw
2014-12-26 22:56:52 +08:00
@binux 尴尬了。。。
skybr
2014-12-26 22:59:21 +08:00
没libxml2的类库及头文件用gem装nokogiri一样会挂。

除非在协议允许的前提下包含类库的包, 不然这个无解的。
nbndco
2014-12-26 23:00:22 +08:00
@binux 他提出的这个缺点莫名其妙,语言包管理不是用来解决系统的依赖的……
dworld
2014-12-26 23:08:36 +08:00
gom感觉用着不错
hyzjshwo
2014-12-26 23:11:01 +08:00
gem 也不是万金油,比如 mysql2,nokogiri 这样的也需要先安装依赖。
icylogic
2014-12-26 23:18:04 +08:00
cargo.
现在在项目的 Cargo.toml 里指定 dependencies, 直接 cargo run 就可以了, 会自己下载 git 目录然后编译, 然后再编译本地项目
skybr
2014-12-26 23:22:36 +08:00
@icylogic 这个是Rust的吧...
icylogic
2014-12-26 23:24:13 +08:00
@skybr 是的亚.
9hills
2014-12-26 23:38:11 +08:00
@binux Python包管理cuo又不代表npm和gem强……
9hills
2014-12-26 23:40:44 +08:00
@nbndco 有很好的解决方案,我记得是有一个包管理,安装的时候能自动生成系统所需要安装的库的命令,apt或者yum。新手直接复制粘贴很方便
xxxcat
2014-12-27 00:38:32 +08:00
啥?我怎么觉得Go的包管理比npm、gem、pip之流好呢,很是简单实用,npm不知道为啥经常会搞坏一些包
Bluek404
2014-12-27 03:31:26 +08:00
感觉go包管理的问题就是fork后用户名的修改和版本控制了(虽然有gopkg.in)

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

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

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

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

© 2021 V2EX