Jamey's Jamey's
首页
导航站
  • 学习专栏

    • 《HTML》笔记
    • 《CSS》笔记
    • 《JavaScript》笔记
    • 《Vue》笔记
    • 《Git》笔记
    • 《规范》笔记
    • 《软技能》笔记
    • 《面试》笔记
    • 《持续集成&交付&部署》笔记
  • 踩坑专栏

    • 《Element-UI 实践系列》笔记
    • 《移动端 实践系列》笔记
    • 《综合》笔记
  • 配置专栏

    • 《环境系列》笔记
  • 极空间

    • Docker
  • 影视

    • movie
  • 编辑器笔记

    • 开发编辑器
  • 浏览器笔记

    • Chrome
  • Mac笔记

    • Mac
  • 跨界学习

    • 运营
  • 破解合集

    • 破解
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 书单
    • 关于

Jamey

首页
导航站
  • 学习专栏

    • 《HTML》笔记
    • 《CSS》笔记
    • 《JavaScript》笔记
    • 《Vue》笔记
    • 《Git》笔记
    • 《规范》笔记
    • 《软技能》笔记
    • 《面试》笔记
    • 《持续集成&交付&部署》笔记
  • 踩坑专栏

    • 《Element-UI 实践系列》笔记
    • 《移动端 实践系列》笔记
    • 《综合》笔记
  • 配置专栏

    • 《环境系列》笔记
  • 极空间

    • Docker
  • 影视

    • movie
  • 编辑器笔记

    • 开发编辑器
  • 浏览器笔记

    • Chrome
  • Mac笔记

    • Mac
  • 跨界学习

    • 运营
  • 破解合集

    • 破解
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 书单
    • 关于
  • NPM

    • 如何定义软件版本号
    • 一文搞定 npm 包发布与管理
      • 一. 初始化 npm 项目
      • 二. 包权限管理
      • 三. 发布版本
        • 1. 发布稳定版本
        • 2. 预发布版本
        • 3. 将 beta 版本设置为稳定版
        • 4. 将 beta 版本移出
        • 5. 将 tag 推送到 Git 远程仓库中
      • 四. 发布版本规则
        • 1. alpha
        • 2. beta
        • 3. rc
      • 五. 查看版本信息
  • Git

  • 写作

  • 开源

  • 《规范》笔记
  • NPM
Jamey
2022-03-03
目录

一文搞定 npm 包发布与管理

# 一文搞定 npm 包发布与管理

因为最近负责组内的基础能力建设,发布各种功能 / 插件包犹如家常便饭,所以熟悉对 npm 包的发布与管理是非常有必要的,故此有了本篇总结文章,方便以后查阅,也希望帮助到有需要的同学。

# 一. 初始化 npm 项目

根据一下命令能初始化一个 npm 包项目,命令交互过程中会让你填入 项目名称、版本、作者等信息,可以直接回车跳过(命令最后增加 -y 使用默认设置)。

npm init --save -y
1

# 二. 包权限管理

很多时候,一个项目包往往不止是你一个人在管理的,这时需要给其他一起维护的同学开通发布的权限,相关使用命令如下:

# 查看模块 owner,其中 demo 为模块名
$ npm owner ls demo

# 添加一个发布者,其中 xxx 为要添加同学的 npm 账号
$ npm owner add xxx demo

# 删除一个发布者
$ npm owner rm xxx demo
1
2
3
4
5
6
7
8

# 三. 发布版本

# 1. 发布稳定版本

更新版本号共有以下选项(major | minor | patch | premajor | preminor | prepatch | prerelease)。

注意:项目的 git status 必须是 clear,才能使用这些命令。

# major 主版本号,并且不向下兼容  1.0.0 -> 2.0.0
$ npm version major

# minor 次版本号,有新功能且向下兼容  1.0.0 -> 1.1.0
$ npm version minor

# patch 修订号,修复一些问题、优化等  1.0.0 -> 1.0.1
$ npm version patch

# premajor 预备主版本  1.0.0 -> 2.0.0-0
$ npm version premajor

# preminor 预备次版本  1.0.0 -> 1.1.0-0
$ npm version major

# prepatch 预备修订号版本  1.0.0 -> 1.0.1-0
$ npm version major

# prerelease 预发布版本  1.0.0 -> 1.0.0-0
$ npm version major
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

版本号更新后,我们就可以进行版本的发布

$ npm publish
1

# 2. 预发布版本

很多时候一些新改动,并不能直接发布到稳定版本上(稳定版本的意思就是使用 npm install demo 即可下载的最新版本),这时可以发布一个 “预发布版本”,不会影响到稳定版本。

# 发布一个 prerelease 版本,tag=beta
$ npm version prerelease
$ npm publish --tag beta
1
2
3

比如原来的版本号是 1.0.,那么以上发布后的版本是 1.0.1-0,用户可以通过 npm install demo@beta 或者 npm install demo@1.0.1-0 来安装,用户通过 npm install demo 安装的还是 1.0.1 版本。

# 3. 将 beta 版本设置为稳定版

# 首先可以查看当前所有的最新版本,包括 prerelease 与稳定版本
$ npm dist-tag ls

# 设置 1.0.1-1 版本为稳定版本
$ npm dist-tag add demo@1.0.1-1 latest
1
2
3
4
5

这时候,latest 稳定版本已经是 1.0.1-1 了,用户可以直接通过 npm install demo 即可安装该版本。

# 4. 将 beta 版本移出

# 将 beta 版本移出
$ tnpm dist-tag rm demo beta
1
2

# 5. 将 tag 推送到 Git 远程仓库中

# 当我们发布完对应的版本,可以通过以下命里将版本号推送到远程仓库,其中 xxx 对应分支
$ git push origin xxx --tags
1
2

# 四. 发布版本规则

# 1. alpha

  • alpha:内部版本。此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的 Bug 较多,需要继续修改。
# 发布 内部版本
$ npm publish --tag alpha 
1
2

# 2. beta

  • beta:公测版本。该版本相对于 alpha 版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对象是软件的 UI,这个阶段的版本也会一直加入新的功能。
# 发布 公测版本
$ npm publish --tag beta
1
2

# 3. rc

  • rc:即 Release candiate,正式版本的候选版本。 该版本已经相当成熟了,基本上不存在导致错误的 BUG,与即将发行的正式版相差无几,不会再加入新的功能了,主要着重于除错。
# 发布 正式版本的候选版本
$ npm publish --tag rc
1
2

# 五. 查看版本信息

可以通过 npm info 来查看模块的详细信息。

$ npm info
1
#规范
上次更新: 2022/07/08, 18:18:02
如何定义软件版本号
Git 提交信息规范

← 如何定义软件版本号 Git 提交信息规范→

Theme by Vdoing | Copyright © 2017-2023 Jamey | blog 闽ICP备19022664号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式