前置(可忽略)
如果发布的包只打算放在公司的私有镜像库中,需要先设置一下registry
// 1、直接设置
npm config set registry <registry>
// 2、有使用nrm的可以用nrm切换
nrm use <registry>
// 3、项目根目录放一个.npmrc文件,内容包含下面内容
registry=<registry>
1、注册、登录(已有账号可跳过注册直接登录)
注册
// 添加用户时可以手动设置registry
npm adduser [--registry=<registry>]
登录
// 登录用户时可以手动设置registry
npm login [--registry=<registry>]
建议
- 用户名使用邮箱
- 密码设置简单容易记住的
- 邮箱使用公司邮箱或者个人邮箱
2、发布
登录后进入到要发布包的项目根目录
npm publish --registry=<registry>
3、验证
发布包后需要验证的话,可以使用下面的命令
// search可以用关键字
npm search <keyword> --registry=<registry>
// 通过发布的包名进行查询
npm info <package> --registry=<registry>
4、更新
更新包只需要2步:
- 1、修改package.json中的版本号
- 2、重新执行发布命令
npm publish --registry=<registry>
5、删除
// 完全删除这个包
npm unpulish <package> [--force]
// 删除指定版本
npm unpulish <package>[@<version>] [--force]
撤销发布的包有下面的规则:
- 不允许撤销发布已经超过24小时的包
- 如果在24小时内确实要撤销,需要加–force参数
- 即使撤销了发布的包,再次发布的时候也不能与之前被撤销的包的名称/版本其中之一相同,因为这两者构成的唯一性已经被占用,官方并没有随着撤销而删除
撤销包的推荐命令npm deprecate
如果是自行测试上传的包,可以使用上面的方式,如果是发布给别人用的,建议用此命令。
npm deprecate <package>[@<version>] <message>
这个命令,并不会在npm上里撤销已有的包,但会在任何人尝试安装这个包的时候得到deprecated的警告