npm 包发布完整流程
npm 包发布完整流程
1. 准备工作
(1) 注册 npm 账号
- 访问 npm 官网 注册账号
- 或在终端直接注册:
按提示输入npm adduser
Username
、Password
和Email
(2) 登录 npm
npm login
输入用户名、密码和邮箱进行验证。
(3) 检查登录状态
npm whoami
如果显示你的用户名,说明登录成功。
2. 创建 npm 包
(1) 初始化项目
mkdir my-package && cd my-package
npm init -y
这会生成 package.json
文件。
(2) 编写包代码
- 创建
index.js
(或其他入口文件):module.exports = { sayHello: () => "Hello from my npm package!" };
- 确保
package.json
中的"main"
字段指向入口文件(默认是index.js
)。
(3) 添加 README.md
# my-package
A demo npm package.
## Installation
```bash
npm install my-package
Usage
const myPackage = require('my-package');
console.log(myPackage.sayHello()); // "Hello from my npm package!"
---
## **3. 发布 npm 包**
### **(1) 检查包名是否可用**
```bash
npm search my-package
如果返回 No matches found
,说明名称可用。
(2) 发布包
npm publish
如果是首次发布公开包,可以不加 --access public
。私有包需要付费订阅。
(3) 发布成功
终端显示类似:
+ my-package@1.0.0
此时可以在 npmjs.com 搜索你的包名查看。
4. 更新 npm 包
(1) 修改代码后更新版本
npm 使用 语义化版本(SemVer):
patch
(补丁版本,如1.0.0 → 1.0.1
)minor
(次版本,如1.0.0 → 1.1.0
)major
(主版本,如1.0.0 → 2.0.0
)
更新版本号:
npm version patch # 或其他:minor / major
(2) 重新发布
npm publish
5. 撤销发布
(1) 删除某个版本
npm unpublish my-package@1.0.0
注意:72 小时后不能再删除同一版本。
(2) 彻底删除包
npm unpublish my-package --force
注意:
- 只有 24 小时内 发布的包可以彻底删除。
- 删除后 24 小时内 不能发布同名包。
6. 常见问题
1. 403 Forbidden(包名已存在)
- 修改
package.json
中的"name"
字段,换一个唯一名称。
2. 402 Payment Required(私有包需付费)
- 公开包:
npm publish --access public
- 私有包需订阅 npm 付费计划。
3. 发布失败(未登录或权限问题)
- 检查是否登录:
npm whoami
- 重新登录:
npm login
总结
步骤 | 命令 |
---|---|
注册账号 | npm adduser |
登录 | npm login |
初始化包 | npm init -y |
发布 | npm publish |
更新版本 | npm version patch/minor/major + npm publish |
撤销发布 | npm unpublish <package>@<version> |
✅ 最佳实践:
- 包名尽量唯一(可加前缀,如
@username/my-package
)。 - 使用
README.md
说明用法。 - 遵循语义化版本(SemVer)。
现在你可以发布自己的 npm 包了! 🚀
No Comments