package.json管理依赖包版本实例分析


这篇文章主要介绍了package.json管理依赖包版本实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇package.json管理依赖包版本实例分析文章都会有所收获,下面我们一起来看看吧。版本格式:X.Y.Z[-string]其含义为:X:主版本号Y:次版本号Z:修正版本号string: 先行版本号或版本编译信息举个例子:6.3.2-alpha的含义为:主版本号6,有6次不可向免费云主机域名下兼容的更新迭代。次版本号3,有3次小的功能迭代。6.*.* 6.3.2的依赖声明,都可以安装此新包。修正版本号2,有2次bug修改或其他非重大功能的修改。6.*.* 6.3.2的依赖声明,都可以安装此新包。先行版本号alpha,表示处理试验阶段。扩展阅读:语义化版本 2.0.0将按下述代码进行阐释:符号^:锁定主版本,可更新次版本号、修正版本号和先行版本号例如"vue-class-component": "^6.0.0",安装依赖时,可以安装符合6.*.* 的任意版本,只要主版本号是6即可。符号~:锁定主版本号和次版本号,可更新修正版本号和先行版本号例如"vue": "~2.5.22",安装依赖时,可以安装符合2.5.*的任意版本。空符号:锁定所有版本号例如"vue-router": "3.0.1",只能安装版本为3.0.1的依赖包。符号*:定义某个版本号范围例如vue-router": "3.0.*",可以安装3.0固定的任意版本,比如3.0.13.0.2latest:安装最新的稳定版本例如"express": "latest",可以安装4.18.1 (2022.06.13最新版本)。*:安装最新发布的版本,不一定是稳定版本例如"mongoose": "*",可以安装6.0.0-rc23.9.7等。Git URL:使用Git上发布的包引用格式: ://[[:]@][:][:][/][# | #semver:]如题,这个是血的教训换来的经验。笔者在使用system.js时,使用的版本限制是:system.js: "^6.3.2"
在安装依赖的时候,意外安装了> 6.3.2的版本,导致项目运行出错。
原因就是system.js作者,没有按照semver规范,进行版本号命名,导致笔者的项目,引入了不可向下兼容的更新,进而使项目运行出错。生产环境中使用到的依赖,统一安装在dependencies下。举个例子:上述代码,是笔者做的cli工具包的package.json中的片段。
shelljs用于操作文件,如果改在devDependencies声明,则用户安装当前工具包后,运行会报错。
因为devDependencies字段声明的依赖,在npm install 工具包时,是不会安装的。必须在dependencies字段中声明,才会被安装。生产环境不需要使用的依赖,都需要安装在peerDependencies下。
因为生产环境下,是不会安装devDependencies字段下的依赖的。举个例子:上述代码,是笔者做的cli工具包的package.json中的片段。
commitizen是笔者用于规范Git提交规范的依赖包,只在开发环境中使用,所以在devDependencies中声明。当开发一些插件和工具包时,对使用方的运行环境的依赖包版本有要求,可以使用peerDependencies字段进行声明。举个例子:当前工具tea-latte,依赖tea包。而且,要求tea包是主版本2。
当不满足要求时,控制台会进行报错处理。注意npm v7版本, peerDependencies会默认安装。npm v3 到 npm v6版本,peerDependencies不会自动安装。关于“package.json管理依赖包版本实例分析”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“package.json管理依赖包版本实例分析”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: Vue编程格式化代码属性自动换行问题怎么解决

这篇文章主要介绍“Vue编程格式化代码属性自动换行问题怎么解决”,在日常操作中,相信很多人在Vue编程格式化代码属性自动换行问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue编程格式化代码属性自动换行问题怎么解决”…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/19 18:16
下一篇 03/19 18:16

相关推荐