美文网首页前端
npm package.json版本更新问题~

npm package.json版本更新问题~

作者: 小m_up | 来源:发表于2019-06-13 16:42 被阅读0次

    之前一直使用package.json下载包,但是突然遇到一个小问题,就记录下来了
    问题引发是这样的:我是要使用一个自己写的库,然后用到一半的时候,发现有需要优化的地方,所以就将自己写的那个库更新了一版,从原来的v0.0.2变成v0.0.3,然而我现在导入是直接导入的:

    ...
    "module": "0.0.2"
    ...
    

    那我代码就必须改成0.0.3,但是这样的话,我的库每更新一次就得改代码一次,肯定不可能,那就是还有自己不知道的问题,然后查了一下,发现npm可以更新制定版本的包以及最新版本的包

    npm更新制定版本或最新版本包
    npm install module@latest  // 或者可以写为@版本号
    

    P.Smodule为你想要更新的包,latest代表最新版本,如果是版本号则直接写版本号即可

    但是这样只是手动去更新自己知道更新了的包,很明显问题没有解决,然后我就发现诶,引入antd的写法是"antd":"^3.10.2",那这个^是个啥子意思,之前好像还见过~

    package.json版本号^和~区别

    说到这个版本号的区别,那先看看版本号吧,版本号主要由三部分组成:

    MAJOR:版本号变化表示有了一个不可以和上个版本兼容的大更改;
    MINOR:版本号变化表示有了增加了新的功能,并且可以向后兼容;
    PATCH:版本号变化表示修复了bug,并且可以向后兼容;

    即:v0.0.3中三个数字从左往右代表的意义,第一个数字0代表版本的大更改,第二个数字0代表功能迭代,第三个数字3代表的是bug修复或优化
    PS:看到这个才发现自己的版本号不标准,首先第一版应该是1.0.0,而不是0.0.1

    了解了版本号之后再来看看^~
    ~:主要是匹配MINOR中的最新版本,即如果你是1.1.2,那~匹配的是[1.1.2 , 1.2.0)之间的版本,它会自动把当前库更新到当前minor的版本
    ^:主要是匹配MAJOR中的最新版本,即如果你是1.1.2,那^匹配的是[1.1.2 , 2.0.0)之间的版本,它会自动把当前库更新到当前major的版本
    注意:这两个都不会自动更新到后面界限的版本,即1.2.02.0.0,这种需要手动改package.json中的包,应该是为了防止改动太大前后版本不兼容叭

    相关文章

      网友评论

        本文标题:npm package.json版本更新问题~

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