V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
aszxqw

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

  •  
  •   aszxqw ·
    yanyiwu · Dec 26, 2014 · 3289 views
    This topic created in 4144 days ago, the information mentioned may be changed or developed.

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

    32 replies    2015-02-10 09:41:25 +08:00
    nicai000
        1
    nicai000  
       Dec 26, 2014
    确实, 不过你这里把Python的包管理当做正面典型? 不是吧...
    9hills
        2
    9hills  
       Dec 26, 2014   ❤️ 1
    Python的包管理绝对不是正面典型。。

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

    呵呵,半斤八两
    aaaa007cn
        7
    aaaa007cn  
       Dec 26, 2014   ❤️ 1
    @nbndco 然后 node-gyp 依赖 python2(咦?
    aaaa007cn
        8
    aaaa007cn  
       Dec 26, 2014
    @ 错人了=o=
    aszxqw
        9
    aszxqw  
    OP
       Dec 26, 2014
    @binux 尴尬了。。。
    skybr
        10
    skybr  
       Dec 26, 2014
    没libxml2的类库及头文件用gem装nokogiri一样会挂。

    除非在协议允许的前提下包含类库的包, 不然这个无解的。
    nbndco
        11
    nbndco  
       Dec 26, 2014 via iPhone   ❤️ 1
    @binux 他提出的这个缺点莫名其妙,语言包管理不是用来解决系统的依赖的……
    dworld
        12
    dworld  
       Dec 26, 2014
    gom感觉用着不错
    hyzjshwo
        13
    hyzjshwo  
       Dec 26, 2014
    gem 也不是万金油,比如 mysql2,nokogiri 这样的也需要先安装依赖。
    icylogic
        14
    icylogic  
       Dec 26, 2014
    cargo.
    现在在项目的 Cargo.toml 里指定 dependencies, 直接 cargo run 就可以了, 会自己下载 git 目录然后编译, 然后再编译本地项目
    skybr
        15
    skybr  
       Dec 26, 2014
    @icylogic 这个是Rust的吧...
    icylogic
        16
    icylogic  
       Dec 26, 2014
    @skybr 是的亚.
    9hills
        17
    9hills  
       Dec 26, 2014 via iPhone
    @binux Python包管理cuo又不代表npm和gem强……
    9hills
        18
    9hills  
       Dec 26, 2014 via iPhone
    @nbndco 有很好的解决方案,我记得是有一个包管理,安装的时候能自动生成系统所需要安装的库的命令,apt或者yum。新手直接复制粘贴很方便
    xxxcat
        19
    xxxcat  
       Dec 27, 2014
    啥?我怎么觉得Go的包管理比npm、gem、pip之流好呢,很是简单实用,npm不知道为啥经常会搞坏一些包
    Bluek404
        20
    Bluek404  
       Dec 27, 2014 via Android
    感觉go包管理的问题就是fork后用户名的修改和版本控制了(虽然有gopkg.in)
    cnbuff410
        21
    cnbuff410  
       Dec 27, 2014
    Go的包管理不是问题,version管理才是问题。Go get是个人觉得用着最简单舒服的包管理工具。但版本管理弱爆了
    G2bN4dbX9J3ncp0r
        22
    G2bN4dbX9J3ncp0r  
       Dec 27, 2014
    @cnbuff410 go get 没有版本管理 ,go get 算不上包管理工具
    xxxcat
        23
    xxxcat  
       Dec 27, 2014
    @lidashuang Go包如此简单明了,根本不需要多么强大的管理工具吧,至于版本方面也有一些解决方案,不过似乎还没有占主流的,这是个问题
    G2bN4dbX9J3ncp0r
        24
    G2bN4dbX9J3ncp0r  
       Dec 27, 2014
    @xxxcat 包管理和go简单明子没有关系吧,go的包管理方案是挺多的,但是没好用的
    wgwang
        25
    wgwang  
       Dec 27, 2014
    pip+venv 在python3.4之后感觉挺好的。
    npm倒经常各种问题,不过可能不是npm的问题,是node自身的问题。
    xxxcat
        26
    xxxcat  
       Dec 27, 2014
    @lidashuang 怎么没关系呢?简单就意味包管理不用做复杂,无需高射炮打蚊子。版本方面与其说没有好的管理器,还不如说社区还没有在解决方案上达成一致
    mathgl
        27
    mathgl  
       Dec 27, 2014
    lxml 如果是build from sources 只会更麻烦。。。
    jsq2627
        28
    jsq2627  
       Dec 28, 2014
    NathanInMac
        29
    NathanInMac  
       Dec 30, 2014
    @cnbuff410 完全同意,能在import里面指定tag/version/commit/branch就好了
    liangdi
        30
    liangdi  
       Jan 8, 2015
    NathanInMac
        31
    NathanInMac  
       Jan 14, 2015
    G2bN4dbX9J3ncp0r
        32
    G2bN4dbX9J3ncp0r  
       Feb 10, 2015
    @liangdi 这个不错
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2337 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 05:27 · PVG 13:27 · LAX 22:27 · JFK 01:27
    ♥ Do have faith in what you're doing.