首页 > 其他分享 >npm学习(八)之更新发布包时如何使用语义化版本

npm学习(八)之更新发布包时如何使用语义化版本

时间:2023-11-28 12:33:05浏览次数:31  
标签:npm 版本控制 语义 json version 版本 包时

 

 

npm的语义化版本控制——Semantic versioning

在新发布的代码中传达更改的程度非常重要,因为有时更新会破坏包需要的代码(称为依赖项)。语义化版本控制(semver)是一个旨在解决这个问题的标准。

Semver出版商

如果一个项目要与其他项目共享,那么它应该从1.0.0开始(尽管npm上的一些项目不遵循这个规则)。

在此之后,应按以下步骤处理更改:

Semver消费者

在我们的package.json里面有一个version字段。那么,怎么在项目不断构建的过程中调整版本呢?

npm有一套自己的版本控制标准——Semantic versioning(语义化版本)

具体体现为:对于"version":"x.y.z"
  • 修复bug,小改动,增加z
  • 增加了新特性,但仍能向后兼容,增加y
  • 有很大的改动,无法向后兼容,增加x
例如:我原本的项目是1.0.0版本的话
  • 若是1中情况,变为1.0.1
  • 若是2中情况,变为1.1.0
  • 若是3中情况,变为2.0.0

通过命令npm version <update_type>自动改变版本

update_type为patch, minor, or major其中之一,分别表示补丁,小改,大改

例如我在shell去改动项目版本

 此命令将更改package.json中的版本号。再来看看我的package.json,已经变成了v1.0.0

更新版本号之后,再次运行npm publish。

标签:npm,版本控制,语义,json,version,版本,包时
From: https://www.cnblogs.com/onesea/p/17861652.html

相关文章

  • npm学习(十七)之node_modules中的bin文件夹
      可执行文件在本地模式下,可执行文件指向的位置;./node_modules/.bin 以便可以通过npm运行的脚本使用它们。例如,当您运行测试,将在路径中 npmtest。npm为script字段中的脚本路径都加上了node_moudles/.bin前缀npm为script字段中的脚本路径都加上了node_moud......
  • dremio 的自服务语义层创建简单说明
    内容来自官方文档,介绍了一些关于dremio的数据语义层的玩法原则分层 通过分层可以确保安全,性能以及可用性,dremio提供了一个对于语义层的最佳实践数据集的注释增强发现以及可理解性 可以通过tag以及文档(wiki)进行数据的描述最佳实践使用1:1的预处理层 此层的数据接近原始数据源......
  • npm下载node-sass包安装失败,需要下python2?
    问题这个问题真的老问题了,今天在跑一个老项目的时候又遇到了。每次遇到都会感慨,这个包真的是是非多啊,解决方案也很简单,不用下python环境,单纯是版本问题查了下网上有挺好的一篇博客:http://www.inspinia.net/a/388314.html?action=onClick里面的报错跟我的一模一样:解决方案......
  • centos安装npm
    1.更新系统:在开始安装之前,先确保你的系统已更新到最新状态。运行以下命令来更新系统:$sudoyumupdate 2.安装Node.js和npm:CentOS7中可以使用yum安装Node.js,但默认仓库版本可能较旧。建议使用Node.js官方源来安装较新的版本。以下是从Node.js官方源安装的步骤:安装cur......
  • npm无法验证证书解决办法
    Error:certificateisnotyetvalidatTLSSocket.onConnectSecure(_tls_wrap.js:1501:34)atTLSSocket.emit(events.js:315:20)atTLSSocket._finishInit(_tls_wrap.js:936:8)atTLSWrap.ssl.onhandshakedone(_tls_wrap.js:710:12)stack:Error:......
  • 什么是 Public NPM Registry
    PublicNPMRegistry是一个巨大的代码库,它是Node.js开发者们的重要资源。在这个库中,开发者们可以分享、发现、下载和使用数以万计的开发项目所需的代码包。这些代码包被称为"packages",每一个package都是一个完整的、可以独立运行的代码模块,它包含了所有必要的元数据信息,如其......
  • 命令行 npm config set legacy-peer-deps true 的作用
    首先,我们需要了解npm,npm是NodePackageManager的缩写,它是Node.js的默认包管理工具。npm提供了许多命令,如install、uninstall、update等,用于管理Node.js的依赖和包。npmconfigsetlegacy-peer-depstrue是npm的一个命令,它主要用于解决npm7在处理peerdepende......
  • npm install xxxx 报错 reify:fsevents: sill reify mark deleted []
    1.问题描述执行安装内容:npminstallsass-D报错:reify:fsevents:sillreifymarkdeleted[]2、解决方法2.1查看当前npm镜像:npmconfiggetregistry发现是淘宝镜像https://registry.npm.taobao.org/2.2将淘宝镜像改为npm官方镜像npmconfigsetregistryhttps:......
  • 关于npm的问题整理
    npminstall提示权限不足Error:EPERM:operationnotpermitted,unlinkXXX原文[npminstall提示权限不足Error:EPERM:operationnotpermitted,unlinkXXX_npminstall--no-optional-CSDN博客]......
  • Flink实战(11)-Exactly-Once语义之两阶段提交
    0大纲[ApacheFlink]2017年12月发布的1.4.0版本开始,为流计算引入里程碑特性:TwoPhaseCommitSinkFunction。它提取了两阶段提交协议的通用逻辑,使得通过Flink来构建端到端的Exactly-Once程序成为可能。同时支持:数据源(source)和输出端(sink)包括ApacheKafka0.11及更高版本。它提......