package.json里面的插件version问题

package.json

{
    ....,
    "dependencies": {
        "vue": "^2.2.6"
    },
    ....
}

我们的项目是通过jenkins打包上传的,每次都会运行npm install安装后编译,这样只要vue有更新版本(例如2.2.7),npm install就会下载2.2.7版本的vue,这样有可能产生预料之外的升级,从而引入一些意料之外的隐患。

问题:是否有必要把^号给去掉?

阅读 3.4k
2 个回答

关于版本可以看看 http://log.hust.cc/javascript...

^2.2.2 版本会自动安装2.x.x的最新版本。

标准情况下:

  1. 产生兼容问题的版本,会升级大版本就是第一个数字。

  2. 产生新特性,但是兼容之前的版本,那么就升级次版本,就是第二个数。

  3. 修复bug,不改动特性,兼容,那么升级小版本,就是第三个数。

也就是说,你那个使用是没有问题的,当然前提是框架作者按照标准升级版本号。

一般不会有什么问题,不过也会有特殊情况,比如我用vue和element的时候,element现在貌似不维护了,最新版本就是1.2.9,当时vue更新到了2.2.4,有些控件就不正常了。之后换回2.1.4就好了。对于这一个,我建议就是,不用去掉^,因为更新不但会兼容以前的版本,还会修复一些存在的问题或者增加了新特性。如果真的遇到了我前面说的那种清况,可以把^去掉,避免更新带来的麻烦,就算有了新版本,我旧版本也一样可以使用。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进