升级vue工程小版本

博客主要讲述Vue版本迭代快,vue-cli及cli-server更新频繁。在更新相关组件时,vue upgrade命令无法正常工作,手动更新组件因package-lock.json存在会导致依赖组件版本不匹配。简单办法是删除相关文件后重新安装。还指出package-lock.json设计在组件升级时成阻碍,带来版本不确定等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vue的版本迭代非常快,一直让人追赶的节奏(今年要发vue 3.0)。

在使用了vue-cli一段时间后,发现了vue-cli包括cli-server的更新频率非常快,经常修复bug。于是乎也想更细一下相关的组件,但是发现vue upgrade这个命令似乎还不能正常工作,见 feat: implement vue upgrade #2428

手动再用vue create 一个新的工程比较了下package.json,发现就更新了几个组件,手动更新一下。由于package-lock.json的存在,直接用npm install 某一个组件是不会顺带更新其依赖的组件的。比如手动升级了vue,但是vue-template-compiler没有跟着升级,运行时会报版本不匹配。

最为简单粗暴的办法是删除package-lock.json和node_modules,然后修改package.json中的需要升级的组件版本号,然后再npm install 一遍就好,这时会重新生成package-lock.json。

主要是以下依赖包升级版本:

vue
@vue/cli-plugin-babel
@vue/cli-plugin-eslint
@vue/cli-service

这里不忍吐槽下package-lock.json的设计,为了解决依赖管理版本不一致的而产生的。反而在组件版本升级时成立畔脚石。

这是由于npm的包管理在考虑组件的依赖和频繁升级特点,采用了^这样高于某版本的语义(语义版本控制 semver)。导致了项目在依赖库安装时的版本不确定性。这样的设计为了方便而带入不确定因素会导致bug和安全风险,我认为这不是一个好的思路。

特别是对npm audit fix的安全检查升级执行造成了干扰,导致无法包依赖的包无法正确升级。于是出现了这样的命令。(这是何苦……)

$ npm audit fix --package-lock-only

package-lock.json的介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值