NPM 包的发布、更新、撤销

4,131 阅读2分钟

账号注册

npm 账号 注册

发布

创建空项目文件夹

mkdir project-name

npm init 【初始化】

进入创建的目录

cd project-name

npm init 初始化后会自动生成一个 package.json 配置文件

npm init

根据提示填写相应内容,填写过程中需要注意以下几点:

  • name 字段不能和 npm 上现有的包名重复
  • name 命名规范:不能出现下划线、大写字母、空格等字符,可以有连字符和中划线
  • 创建出口文件 index.js 并给出默认导出

npm login 【登陆】

npm login
或
npm adduser

输入上面命令后,根据提示填写对应的用户名、密码和邮箱即可

npm publish 【发布】

npm publish

发布成功后,可以在 npm 上搜索到对应发布的 包/模块

发布后安装使用

在需要使用的项目安装依赖包

npm i package-name

更新

更新已发布包需要执行下面两个步骤:

  • 修改版本号
    • 在包的 package.json 文件中手动修改需要更新的版本号
    • 命令 npm version 自动更新版本号
  • npm publish

npm version 【升级版本号】

根据 option 选项自动更新版本号命令

npm version [option]

option 选项:

major:主版本号(大版本)	[2.0.0]
minor:次版本号(小更新)	[1.1.0]
patch:补丁号(补丁)	[1.0.1]
premajor:预备主版本         [2.0.0-0]
preminor: 预备次版本	[1.1.0-0]
prepatch:预补丁版本         [1.0.1-0]
prerelease:预发布版本	[1.0.1-0]

执行对应 npm version [option] 命令后可以在 package.json 文件中看到对应版本

撤销

npm unpublish 【撤销】

npm unpublish projectName [--force]

npm 官方对撤销已发布的包说明:

  • 不允许撤销发布已经超过 24 小时的包,撤销发布 24 小时内的包需要加 --force 参数
  • 撤销之前发布的包,再次发布的时候不能与之前被撤销的包的名称/版本其中之一相同,因为这两者构成的唯一性已经被占用,官方并没有随着撤销而删除

npm deprecate 【弃用】

npm unpublish 官方推荐的替代命令 npm deprecate

npm deprecate <pkg> [@<version>] <message>

npm deprecate 命令不会在 npm 上撤销对应的包,会在使用安装该包是给出下面提示信息

npm deprecate my-test-project 'this package is no longer maintained'

参考:

NPM包(模块)发布、更新、撤销发布