美文网首页
语义化版本

语义化版本

作者: 转身丶即天涯 | 来源:发表于2018-12-21 17:28 被阅读5次

    在使用pip(python),webpack(js)等包管理工具的时候,经常需要约束第三方软件包的版本,比如在使用python的包管理工具pip的时候,常用做法是把第三方依赖包的版本都放入requirements.txt这个文件中,这样再次在其他环境安装应用程序的时候就可以使用一行命令(pip install -r requirements.txt)自动下载相关依赖。而文件中的内容就是这篇文章的重点:如何约束包的版本。


    先看一个requirements.txt例子

    django<2
    ldap~=1.0.2
    django_auth_ldap~=1.7
    requests~=2.19
    simplejson~=3.16
    marathon~=0.10
    ldap3~=2.5
    

    我们可以清晰的看到左侧是包(package)的名字,中间是约束规则,右侧是版本号。

    包的名字和版本不难理解,中间的这些符号是什么意思呢?
    就说一些简单常用的把。

    • : 依赖包的版本大于某个版本

    • <: 依赖包的版本小于某个版本
    • ~=: 依赖包的版本约等于某个版本
    • ==: 依赖包的版本等于某个版本

    除了~=之外都不难理解,所谓的约等于是指大致的版本号满足要求即可。
    比如一个依赖包名为xxx的版本为2.5.2,如果你的约束条件是 xxx~=2.5,这样也是满足条件的。
    如果懂得正则表达式的话就更好理解了,相当于2.5.*,意思是说只要是2.5开头的版本都可以。

    我说的这些是工作中用到的,仅仅是皮毛,想了解更多语义化版本的问题可以看下面的网站。
    传送门:语义化版本

    相关文章

      网友评论

          本文标题:语义化版本

          本文链接:https://www.haomeiwen.com/subject/vdrvkqtx.html