更新json文件_忽略packagelock.json?

本文探讨了在npm版本管理和更新过程中package-lock.json文件的作用。介绍了语义化版本控制,强调了package-lock.json的由来、属性和不同版本的区别。文章还讨论了npm install的常见问题,如不同node版本间的兼容性和校验和错误,并提供了解决方案。结论是不应忽略或删除package-lock.json,建议使用npm ci进行更安全的安装。
摘要由CSDN通过智能技术生成
c3f368dcbd03856f6525a6a4f576a43b.png

背景

近期经常遇到包版本导致的问题,之前使用过 package-lock.json 来约束版本,但总是导致一些问题或者冲突,没有多研究原因,直接在 .gitignore 把它忽略了,当时倒是没啥问题,随着一些依赖包的更新,问题出现了。。

项目中 package.json 使用了框架默认的,包版本规则基本都是^开头,所以每次 npm install 都会根据版本规则安装最新的包,不可避免出现依赖包兼容问题。

忽略lock文件会导致包自动更新问题,不忽略会导致冲突或者意外报错,怎么办?

语义化版本控制

版本号由三部分组成:主版本号次版本号补丁版本号。变更不同的版本号,代表不同的意义

  • 主版本号(major):新的架构调整,不兼容老版本
  • 次版本号(minor):新增功能,兼容老版本
  • 补丁版本号(patch):修复bug,兼容老版本
 "dependencies": {
     
    "signale": "1.4.0", // 固定版本号
    "figlet": "*", // 任意版本(>=0.0.0)
      
    // 匹配主要版本(>=16.0.0 <17.0.0) 两种写法效果一样
    "react": "16.x", 
    "react": "^16.3.0",
      
    // 匹配主要版本和次要版本(>=16.3.0 <16.4.0) 两种写法效果一样
    "react-dom": "16.3.x",
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值