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

脚手架搭建项目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.mzph.cn/bicheng/2707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis篇:缓存击穿及解决方案

1.何为缓存击穿 缓存击穿问题也叫热点Key问题,就是一个被高并发访问并且缓存重建业务较复杂的key突然失效了(有可能是正好过期了),无数的请求访问会在瞬间给数据库带来巨大的冲击。 常见的解决方案有两种: 互斥锁 逻…

c# 连接数据库、excel数据批量导入到数据库

string str $"select from TBa where ... ";DataSet ds new DataSet();using (SqlConnection conn new SqlConnection("server000.000.0.000;database数据库名;user id登录的用户名;password密码;Poolingtrue")){try{conn.Open();SqlCommand com new Sq…

逐行分析Transformer的程序代码,最后免费附上该代码!!

1. 代码详细解释 1. 第一段代码 这段代码首先定义了一些参数,包括编码器个数、输入维度、句子长度、词嵌入维度等。然后它保存了这些超参数到指定路径。接着,它加载训练和验证数据集,并创建了对应的数据加载器。之后,它定义了一个…

设计模式- 享元模式(Flyweight Pattern)结构|原理|优缺点|场景|示例

设计模式(分类) 设计模式(六大原则) 创建型(5种) 工厂方法 抽象工厂模式 单例模式 建造者模式 原型模式 结构型(7种) 适配器…

PHP 爬虫如何配置代理 IP(CURL 函数)

在 PHP中 配置代理IP&#xff0c;可以通过设置 CURL 库的选项来实现&#xff0c;代码如下&#xff1a; 当然你要有代理ip来源&#xff0c;比如我用的这个 代理商 &#xff0c;如果想服务稳定不建议找开源代理池&#xff0c;避免被劫持。 <?php // 初始化cURL会话 $ch cu…

php序列化存储和反序列化的使用方法

在 PHP 中,序列化(serialization)是将一个变量转换为可存储或传输的字符串表示形式的过程。反序列化(unserialization)则是将这个字符串转换回原始的 PHP 变量。这在存储对象到数据库、缓存系统或者在网络中传输对象时非常有用。 序列化 PHP 提供了 serialize() 函数来序…

xgp会员一年多少钱?xgp一个月多少钱?微软商店xgp会员价格指南

xgp是xbox游戏平台。xgp是类似于steam、epic等&#xff0c;拥有丰富游戏资源的平台。该平 台的全称为“XBox Game Pass”&#xff0c;俗称为“西瓜皮”。xgp是会员订阅模式&#xff0c;开启会员后&#xff0c;所有游戏资源都为你开放。pc版的&#xff0c;第一个月10港币&#x…

基于springboot+vue+Mysql的漫画网站

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

前端分页请求数据,前端删除n条数据后,再次请求

期望实现 前端分页请求服务端数据&#xff0c;页面渲染成列表前端操作删除列表里一项或多项&#xff08;一条或多条数据&#xff09;&#xff0c;页面立刻移除这一项或多项前端再次分页请求服务端数据&#xff0c;列表正常显示 问题分析 一般来说&#xff0c;每次请求的数据…

L1-099 帮助色盲 - java

L1-099 帮助色盲 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 栈限制 8192 KB 题目描述&#xff1a; 在古老的红绿灯面前&#xff0c;红绿色盲患者无法分辨当前亮起的灯是红色还是绿色&#xff0c;有些聪明人通过路口的策略是这样的&#xff1a;当红灯或绿灯亮起时&am…

WebServer项目介绍文章【四叶专属】

Linux项目实战C轻量级Web服务器源码分析TinyWebServer 书接上文&#xff0c;学习开源项目的笔记没想到居然有不少阅读量&#xff0c;后面结合另一个前端开源项目简单做了点修改&#xff0c;没想到居然有需要的同学&#xff0c;那么我就专门为四叶开一篇文章吧&#xff0c;【源码…

抢先看!美团、京东、360等大厂面试题解析,技术面试必备。

技术面试必备&#xff01;美团、京东、360等大厂面试题详解&#xff0c;让你轻松应对各大公司面试挑战&#xff01; 往期硬核面经 哦耶&#xff01;冲进腾讯了&#xff01; 牛逼&#xff01;上岸腾讯互娱和腾讯TEG&#xff01; 腾讯的面试&#xff0c;强度拉满&#xff01; …

【c++】探究C++中的list:精彩的接口与仿真实现解密

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;本篇文章来到list有关部分&#xff0c;这一部分函数与前面的类似&#xff0c;我们简单讲解&#xff0c;重难点在模拟实现时的迭代器有关实现 目录 1.List介绍2.接…

【网络安全】跨站脚本攻击(XSS)

专栏文章索引&#xff1a;网络安全 有问题可私聊&#xff1a;QQ&#xff1a;3375119339 目录 一、XSS简介 二、XSS漏洞危害 三、XSS漏洞类型 1.反射型XSS 2.存储型XSS 3.DOM型XSS 四、XSS漏洞防御 一、XSS简介 XSS&#xff08;Cross-Site Scripting&#xff09; XSS 被…

信奥之路(三)——判断语句if

1.if语句 判断结构要求程序员指定一个或多个要评估或测试的条件&#xff0c;以及条件为真时要执行的语句&#xff08;必需的&#xff09;和条件为假时要执行的语句。 C 编程语言提供了以下类型的判断语句。点击链接查看每个语句的细节&#xff1a; if 语句&#xff1a;一个 if …

设计模式(019)行为型之状态模式

状态模式是一种行为型设计模式&#xff0c;它允许对象在内部状态发生变化时改变它的行为&#xff0c;使得对象在不同状态下有不同的行为表现&#xff0c;而且可以方便地添加新的状态而不必修改已有的代码。 1、场景设计 实现场景&#xff1a;对状态A和状态B做出不同的处理。 …

Git merge的版本冲突实验

实验目的 发现 两个分支的 相同文件 怎样被修改 才会发生冲突&#xff1f; 实验过程 1.初始状态 现在目前有1.py、2.py两个文件&#xff0c;已经被git管理。现在我想制造冲突&#xff0c;看怎样的修改会发生冲突&#xff0c;先看怎么不会发生冲突。 目前仓库里的版本是这样…

C++ //练习 13.11 为前面练习中的HasPtr类添加一个析构函数。

C Primer&#xff08;第5版&#xff09; 练习 13.11 练习 13.11 为前面练习中的HasPtr类添加一个析构函数。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 class HasPtr{ public:HasPtr(const std::string &s std::stri…

C语言实现简单CRC校验

目录 一、实现题目 二、send模块 三、receive模块 四、运行截图 一、实现题目 二、send模块 #include <stdio.h> #include <string.h>// 执行模2除法&#xff0c;并计算出余数&#xff08;CRC校验码&#xff09; //dividend被除, divisor除数 void divide…

免费SSL证书和付费SSL证书区别在哪

免费SSL证书与付费SSL证书在多个方面存在差异&#xff0c;这些差异主要体现在认证级别、保障金额以及服务范围上。在以下几个方面存在显著区别&#xff1a; 1、验证类型和信任级别&#xff1a; 免费SSL证书&#xff1a;通常只提供域名验证&#xff08;DV&#xff09;级别的证…