发布一个npm包,更新包,删除包
如何将自己的项目 发布为一个 npm 包,并掌握 更新 和 删除 的操作流程。
🚀 一、发布一个 npm 包的完整流程
✅ 1. 注册并登录 npm 账号
如果还没有账号,先注册:
- 官网注册:https://www.npmjs.com/signup
然后在终端登录:
npm login
输入用户名、密码和邮箱即可。
✅ 2. 创建你的包项目
新建一个项目目录:
mkdir my-awesome-lib
cd my-awesome-lib
npm init -y
编辑 package.json
,确保以下字段有意义:
{"name": "my-awesome-lib", // 包名,全局唯一"version": "1.0.0", // 初始版本"main": "index.js", // 入口文件"keywords": ["utils", "tools"],"author": "Your Name","license": "MIT"
}
创建 index.js
:
module.exports = function sayHello(name) {return `Hello, ${name}!`;
};
✅ 3. 发布你的包
npm publish
🎉 成功后,你可以在 npm 官网 搜索并查看你的包!
⚠️ 注意事项(发布失败的常见原因):
- 包名重复(需唯一) → 可以加前缀,比如
@yourname/yourlib
(私有作用域包) - 没有登录
- 忘记上传入口文件
.npmignore
忽略了必须的文件
🔄 二、更新 npm 包版本
每次发布更新必须修改 package.json
中的版本号!
npm version patch # 小更新 1.0.0 → 1.0.1
npm version minor # 新功能 1.0.0 → 1.1.0
npm version major # 大版本变更 1.0.0 → 2.0.0
然后再次发布:
npm publish
❌ 三、删除一个 npm 包(谨慎操作)
⚠️ npm 官方限制:包发布后 72 小时内才能删除;超时只能 unpublish 某个版本
✅ 删除整个包(必须在 72 小时内):
npm unpublish my-awesome-lib --force
✅ 删除特定版本:
npm unpublish my-awesome-lib@1.0.0
🔒 一旦超时,建议:
- 发新版本修复
- 添加
deprecated
标记:
npm deprecate my-awesome-lib@"<1.1.0" "This version has critical bugs, please update to 1.1.0+"
🧪 练习建议
- 新建一个包目录
- 发布一个简单的工具函数(如格式化日期、加法函数)
- 尝试更新一个版本
- 使用其他项目
npm install
引用它