作者:佳jia-513 | 来源:互联网 | 2023-07-28 16:57
package.json依赖版本管理之majorminorpatch-问题背景Jenkins前端打包一直报错。错误信息如下:问题原因vue和vue-template-com
问题背景
Jenkins 前端打包一直报错。错误信息如下:
问题原因
vue 和 vue-template-compiler 的版本不一致导致的。
检查 package.json 中 vue 和 vue-template-compiler 的版本信息。
"vue": "2.6.11",
"vue-template-compiler": "^2.6.11",
咋一看似乎没有问题版本都是 2.6.11。仔细看发现,vue-template-compiler的版本信息前有一个 ^ 符号。这个符号的含义是什么?除此之外,版本前添加 ~ 的含义是什么呢?版本前不加任何修饰符号是什么意思?
- 版本前不加任何修饰符,表示锁死 major,minor,patch。
- 版本前添加 ^ 符号表示锁死 major 大版本。
- 版本前添加 ~ 符号表示锁死 minor 中版本。
除了 ~ 和 ^ 之外,在版本号前可以添加 <<= > >= 等符号。这些符号的意思比较直观,不表。
解决方案
锁死 vue 和 vue-template-compiler 的版本。
"vue": "2.6.11",
"vue-template-compiler": "2.6.11",
或者同时固化 major 版本
"vue": "^2.6.11",
"vue-template-compiler": "^2.6.11",