脚手架搭建项目package.json配置中依赖的版本问题

devtools/2024/9/20 2:07:28/ 标签: json

json_0">脚手架搭建项目package.json配置中依赖的版本问题

问题描述:项目刚搭建好,运行没有问题,为什么过一段时间,删除node_modules,或者重新安装包依赖,然后项目某些地方出现莫名的错误(依赖库的地方),这中问题还不好排查,原因就是包依赖官方升级了,而自己在package.json中使用的通配符( ^ )安装当前版本的最新库,虽然说小版本更新是向前兼容的,当总有兼容不到的地方,希望你不要碰到,碰到就不好排查问题

在这里插入图片描述

依赖本版

版本范围控制

大版本.次要版本.小版本,如:1.0.0

版本 说明 含义
主版本(大版本) 必须 一般代表了项目的重大架构变更,如进行不兼容的API更改
此版本(次要版本) 必须 一般代表了一些功能的增加或变化,但没有架构的变化
增量版本(小版本) 必须 一般是一些小的bug修复,没有重大功能变化
预发布版本或版本编译信息 不必须 添加到最后,作为扩展

版本匹配符

1.~会匹配最新的小版本依赖包,比如~1.2.3会匹配所有1.2.x版本,但不包括1.3.0

2.^会匹配最新的大版本依赖包,比如^1.2.3会匹配所有1.x.x版本,包括1.3.0,但不包括2.0.0

3.版本号用*代替,始终安装最新版本的依赖包

如何选择

1.指定版本号,不添加前缀匹配符,但如果依赖包发布新版本修复一些小bug,需要手动修改package.json文件

2.^版本,版本更新比较大,可能会造成项目代码错误

3.~版本,建议使用~来标记版本号,既可以保证项目不会出现大的问题,也能保证包中的小bug可以得到修复


http://www.ppmy.cn/devtools/15901.html

相关文章

Node.js身份核验接口、身份证二、三要素实名认证接口

随着互联网的高速发展,人们可以发表言论的渠道越来越多。网络平台不断汲取各地、各人、各时发表的各种信息。人们喜欢将信息发布到微博、知乎、天涯、豆瓣等等网络平台,逐步的,网络信息进入大爆炸时代。这些大量涌现的信息中难免掺杂着一些不…

10:00面试,10:08就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到8月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…

CTF网络安全大赛详情

网络安全已成为现代社会的一个关键挑战,随着互联网技术的飞速发展,从个人隐私保护到国家安全,网络安全的重要性日益突显。为了应对这一挑战,CTF(Capture The Flag,中文:夺旗赛)应运而…

手写一个民用Tomcat (06)

我们这次是引入获取参数,比如你的GET 请求 或者post 请求 如何吧请求参数进行封装 成map 集合 。 先看下erquest。请求类里边改造 private void parseRequestLine() 这个方法 改造成 依据 ?进行分割处理因为 http://localhost:8080/servlet/com.yixin.HelloWor…

Ubuntu系统安装配置笔记

最近装了台Ubuntu系统用于日常工作,过程中搜索了很多资料或找ChatGPT解答疑问,已有的资料都比较详细了,因此这篇笔记主要是列举大纲和参考网站,并记录中间踩坑耗时较多的问题。 一,系统安装 1,镜像下载 …

完美运营版商城/拼团/团购/秒杀/积分/砍价/实物商品/虚拟商品等全功能商城

源码下载地址:完美运营版商城.zip 后台可以自由拖曳修改前端UI页面 还支持虚拟商品自动发货等功能 挺不错的一套源码 前端UNIAPP 后端PHP 一键部署版本

如何快速学习盲打键盘的指法

学习盲打键盘的指法需要一定的时间和练习,但是以下几个方法可以帮助你加快学习的速度: 掌握正确的手位:了解标准的键盘布局以及手指应该放置的位置是学习盲打的第一步。在QWERTY键盘上,你的左手应该放在ASDF键上,右手应…

车载以太网DoIP 协议,万字长文详解

🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe&…

【Node.js】02 —— Path模块全解析

🌟Node.js之Path模块探索🌈 📚引言 在Node.js的世界中,path模块就像一把万能钥匙🔑,它帮助我们理解和操作文件与目录的路径。无论你是初入Node.js殿堂的新手,还是久经沙场的老兵,理…

卡口车辆智能检索系统

卡口车辆智能检索系统是基于海量卡口图像和视频数据,通过智能化的信息挖掘、模式匹配及快速搜索等智能图像处理技术,完成车辆、车型、车身颜色、车辆特征、相似车辆搜索等核心业务功能,扩展基于治安卡口数据的应用手段。 卡口车辆智能检索系…

在【laravel框架】学习中遇到的常见的问题以及解决方法

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

【设计模式】享元模式

目录 什么是享元模式 代码实现 什么是享元模式 Java中的享元模式(Flyweight Pattern)是一种结构型设计模式,它用于减少系统中对象的数量,以节省内存和提高性能。享元模式通过共享相似对象之间的公共部分来最小化内存使用。 在享…

react之组件与JSX

第一章 - 描述用户界面 概述:React是一个用于构建用户界面(UI)的JavaScript库,用户界面由按钮,文本和图像等小单元内容构建而成。React帮助你把它们组合成可重用,可嵌套的组件。从web端网站到移动端应用&a…

Flink容错机制

Flink的容错机制是一个复杂而精细的系统,旨在确保在分布式流处理过程中,即使在发生故障的情况下,也能保持数据的一致性和计算的正确性。以下是对Flink容错机制的详细阐述: 首先,Flink的容错机制建立在状态一致性的基础…

ATECLOUD测试系统如何检测电机驱动模块

电机驱动模块是驱动电机的电路模块,通过将电源提供的电能转化为电机所需的电能,来控制电机的启停、转速和旋转方向等。为了保证电机可以正常运行,需要对电机模块进行各项指标检测,评估电机驱动模块的性能。 西安某军工方向科技公司…

牛客NC209 最短无序连续子数组【中等 数组,双指针 C++/Java/Go/PHP】

题目 题目链接: https://www.nowcoder.com/practice/d17f4abd1d114617b51e951027be312e 思路 解题思路 1、方法1,排序对比:将数组按升序排序,然后与原数组对照,从哪里开始变化到哪里结束变化的数组就是答案。 2、 方…

使用uni-app开发app时遇到mqtt.js不可用的问题

使用uni-app开发app时遇到mqtt.js不可用的问题 1 问题背景 基于 Vue3 版本创建了 uni-app 项目用于开发微信小程序,项目中用到了 mqtt.js(v4.1.0),编译为微信小程序能够正常运行,但是编译为 APP 后,控制台…

【Java EE】文件内容的读写——数据流

目录 1.InputStream概述 1.1方法 2.FileInputStream概述 2.1构造方法 2.2代码示例 2.3.利用Scanner进行字符读取 3.OutputStream概述 3.1方法 3.2利用OutputStreamWriter进行字符写入 3.3利用PrintWriter找到我们熟悉的方法 1.InputStream概述 1.1方法 修饰符及返回…

3.8设计模式——State 状态模式(行为型)

意图 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 结构 Context(上下文)定义客户感兴趣的接口;维护一个ConcreteState子类的实例,这个实例定义当前状态。State(状态)定义…