发布一个npm包,更新包,删除包

发布一个npm包,更新包,删除包

如何将自己的项目 发布为一个 npm 包 ,并掌握 更新删除 的操作流程。


🚀 一、发布一个 npm 包的完整流程

✅ 1. 注册并登录 npm 账号

如果还没有账号,先注册:

然后在终端登录:

bash 复制代码
npm login

输入用户名、密码和邮箱即可。


✅ 2. 创建你的包项目

新建一个项目目录:

bash 复制代码
mkdir my-awesome-lib
cd my-awesome-lib
npm init -y

编辑 package.json,确保以下字段有意义:

json 复制代码
{
  "name": "my-awesome-lib",     // 包名,全局唯一
  "version": "1.0.0",            // 初始版本
  "main": "index.js",            // 入口文件
  "keywords": ["utils", "tools"],
  "author": "Your Name",
  "license": "MIT"
}

创建 index.js

js 复制代码
module.exports = function sayHello(name) {
  return `Hello, ${name}!`;
};

✅ 3. 发布你的包

bash 复制代码
npm publish

🎉 成功后,你可以在 npm 官网 搜索并查看你的包!


⚠️ 注意事项(发布失败的常见原因):

  1. 包名重复(需唯一) → 可以加前缀,比如 @yourname/yourlib(私有作用域包)
  2. 没有登录
  3. 忘记上传入口文件
  4. .npmignore 忽略了必须的文件

🔄 二、更新 npm 包版本

每次发布更新必须修改 package.json 中的版本号!

bash 复制代码
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

然后再次发布:

bash 复制代码
npm publish

❌ 三、删除一个 npm 包(谨慎操作)

⚠️ npm 官方限制:包发布后 72 小时内才能删除;超时只能 unpublish 某个版本

✅ 删除整个包(必须在 72 小时内):

bash 复制代码
npm unpublish my-awesome-lib --force

✅ 删除特定版本:

bash 复制代码
npm unpublish my-awesome-lib@1.0.0

🔒 一旦超时,建议:

  • 发新版本修复
  • 添加 deprecated 标记:
bash 复制代码
npm deprecate my-awesome-lib@"<1.1.0" "This version has critical bugs, please update to 1.1.0+"

🧪 练习建议

  1. 新建一个包目录
  2. 发布一个简单的工具函数(如格式化日期、加法函数)
  3. 尝试更新一个版本
  4. 使用其他项目 npm install 引用它
相关推荐
choke2334 小时前
[特殊字符] Python 文件与路径操作
java·前端·javascript
云飞云共享云桌面4 小时前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
Deng9452013145 小时前
Vue + Flask 前后端分离项目实战:从零搭建一个完整博客系统
前端·vue.js·flask
威迪斯特5 小时前
Flask:轻量级Web框架的技术本质与工程实践
前端·数据库·后端·python·flask·开发框架·核心架构
Hello.Reader5 小时前
Flink 文件系统通用配置默认文件系统与连接数限制实战
vue.js·flink·npm
行者无疆_ty5 小时前
什么是Node.js,跟OpenCode/OpenClaw有什么关系?
人工智能·node.js·openclaw
wuhen_n5 小时前
JavaScript内置数据结构
开发语言·前端·javascript·数据结构
大鱼前端5 小时前
为什么我说CSS-in-JS是前端“最佳”的糟粕设计?
前端
不爱吃糖的程序媛5 小时前
Capacitor:跨平台Web原生应用开发利器,现已全面适配鸿蒙
前端·华为·harmonyos
AC赳赳老秦5 小时前
2026国产算力新周期:DeepSeek实战适配英伟达H200,引领大模型训练效率跃升
大数据·前端·人工智能·算法·tidb·memcache·deepseek