还是包管理的问题, Python 有 pip 和 easy_install , Ruby 有 gem, Node.js 有 npm, golang 真的需要更好的包管理。 go get 还是太原始,比如 npm 和 gem 都可以帮你管理库的编译, 比如用 C/C++ 写扩展库的时候, 编译过程是 npm 和 gem 来操心的, 用户根本不需要知道这个库是怎么编译出来的。 而 go get 无法做到这些
![]() | 1 nicai000 2014-12-26 22:21:46 +08:00 确实, 不过你这里把Python的包管理当做正面典型? 不是吧... |
![]() | 2 9hills 2014-12-26 22:28:03 +08:00 ![]() Python的包管理绝对不是正面典型。。 pip install lxml,sorry你得先从你的发行版中安装 libxml2,妹的 |
![]() | 4 nbndco 2014-12-26 22:40:00 +08:00 via iPhone Python的包管理是反面典型,而且我至今不能理解的是为什么python阵营天天把自己吹到天上去至今却没人写的出一个包管理器 |
![]() | 6 binux 2014-12-26 22:51:35 +08:00 ![]() @9hills 于是我想看看 npm 是怎么解决 libxml 的,于是 `npm install libxml` 然后: < target="_blank" href="http://stackoverflow.com/questions/10651822/node-js-libxml-can-not-install" rel="nofollow noopener">http://stackoverflow.com/questions/10651822/node-js-libxml-can-not-install 呵呵,半斤八两 |
![]() | 8 aaaa007cn 2014-12-26 22:52:57 +08:00 @ 错人了=o= |
![]() | 10 skybr 2014-12-26 22:59:21 +08:00 没libxml2的类库及头文件用gem装nokogiri一样会挂。 除非在协议允许的前提下包含类库的包, 不然这个无解的。 |
![]() | 12 dworld 2014-12-26 23:08:36 +08:00 gom感觉用着不错 |
13 hyzjshwo 2014-12-26 23:11:01 +08:00 gem 也不是万金油,比如 mysql2,nokogiri 这样的也需要先安装依赖。 |
14 icylogic 2014-12-26 23:18:04 +08:00 cargo. 现在在项目的 Cargo.toml 里指定 dependencies, 直接 cargo run 就可以了, 会自己下载 git 目录然后编译, 然后再编译本地项目 |
![]() | 18 9hills 2014-12-26 23:40:44 +08:00 via iPhone @nbndco 有很好的解决方案,我记得是有一个包管理,安装的时候能自动生成系统所需要安装的库的命令,apt或者yum。新手直接复制粘贴很方便 |
19 xxxcat 2014-12-27 00:38:32 +08:00 啥?我怎么觉得Go的包管理比npm、gem、pip之流好呢,很是简单实用,npm不知道为啥经常会搞坏一些包 |
![]() | 20 Bluek404 2014-12-27 03:31:26 +08:00 via Android 感觉go包管理的问题就是fork后用户名的修改和版本控制了(虽然有gopkg.in) |
![]() | 21 cnbuff410 2014-12-27 08:28:58 +08:00 Go的包管理不是问题,version管理才是问题。Go get是个人觉得用着最简单舒服的包管理工具。但版本管理弱爆了 |
![]() | 22 G2bN4dbX9J3ncp0r 2014-12-27 09:32:12 +08:00 @cnbuff410 go get 没有版本管理 ,go get 算不上包管理工具 |
23 xxxcat 2014-12-27 13:13:52 +08:00 @lidashuang Go包如此简单明了,根本不需要多么强大的管理工具吧,至于版本方面也有一些解决方案,不过似乎还没有占主流的,这是个问题 |
![]() | 24 G2bN4dbX9J3ncp0r 2014-12-27 13:24:18 +08:00 @xxxcat 包管理和go简单明子没有关系吧,go的包管理方案是挺多的,但是没好用的 |
25 wgwang 2014-12-27 15:12:58 +08:00 pip+venv 在python3.4之后感觉挺好的。 npm倒经常各种问题,不过可能不是npm的问题,是node自身的问题。 |
26 xxxcat 2014-12-27 15:43:40 +08:00 @lidashuang 怎么没关系呢?简单就意味包管理不用做复杂,无需高射炮打蚊子。版本方面与其说没有好的管理器,还不如说社区还没有在解决方案上达成一致 |
![]() | 27 mathgl 2014-12-27 17:36:33 +08:00 lxml 如果是build from sources 只会更麻烦。。。 |
![]() | 28 jsq2627 2014-12-28 15:56:59 +08:00 |
![]() | 29 NathanInMac 2014-12-30 07:19:06 +08:00 @cnbuff410 完全同意,能在import里面指定tag/version/commit/branch就好了 |
![]() | 30 liangdi 2015-01-08 14:39:19 +08:00 @NathanInMac 目前用http://labix.org/gopkg.in |
![]() | 31 NathanInMac 2015-01-14 08:07:13 +08:00 @liangdi do you like https://github.com/tools/godep ? |
![]() | 32 G2bN4dbX9J3ncp0r 2015-02-10 09:41:25 +08:00 @liangdi 这个不错 |