npm 发包
步骤
- 登录 npm 官网,注册账号
- 在包根目录下,npm login登录(会给链接打开浏览器登录) (npm config get registry 可以查看当前的npm源,如果不是需要设置为:registry=https://registry.npmjs.org)
- npm whoami 查看当前登录用户
- 先打包,后发布
- 使用 npm publish 命令发布包(pnpm publish更快)
注意
ts
"devDependencies": {
"@babel/helper-compilation-targets": "^7.15.4",
"@vue/cli-plugin-babel": "^4.1.0",
"@vue/cli-plugin-eslint": "^4.1.0",
"@vue/cli-service": "^4.1.0"
}- @your_org_name/<pkg_name>,如
@mylib/ui如果想用这种结构的包名,首先需要在npm上创建自己组织(npm的organizations),创建免费的就行。教程
npm 下架策略
核心前提说明
注册表数据是不可变的,这意味着一旦发布,包就不能更改。我们这样做是为了保障安全和稳定性,以确保依赖这些包的用户能够正常使用。 因此,如果你曾经发布了一个名为bob的包,版本号为1.1.0,那么其他任何包都不能再以这个名称和版本号发布。即使该包已被下架,也是如此。
但是,考虑到可能会发生意外情况,我们允许你在以下情况下下架包。否则,你始终可以弃用一个包。
一、发布不到 72 小时的包
对于新创建的包,只要 npm 公共注册表中的其他包不依赖于你的包,你就可以在发布后的前 72 小时内随时下架。
二、发布超过 72 小时的包
无论包发布了多久,只要同时满足以下所有条件,你就可以下架该包:
- npm 公共注册表中的其他包不依赖于它
- 它在过去一周内的下载量不到 300 次
- 它只有一个所有者/维护者
三、如何下架
1. 下架单个包版本
运行以下命令:
bash
npm unpublish <package_name>@<version>2. 下架包的所有版本(所有版本都符合下架条件时)
运行以下命令:
bash
npm unpublish <package_name> --force四、注意事项
- 一旦
<package>@<version>被使用过,你就不能再使用它了。即使你下架了旧版本,后续发布也必须使用新版本号。 - 下架包后,你将无法撤销下架操作。
- 如果完全下架包的所有版本,你将无法发布该包的任何新版本,直到 24 小时后。
