当前位置: 首页 > news >正文

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

发布一个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 官网 搜索并查看你的包!


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

  1. 包名重复(需唯一) → 可以加前缀,比如 @yourname/yourlib(私有作用域包)
  2. 没有登录
  3. 忘记上传入口文件
  4. .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+"

🧪 练习建议

  1. 新建一个包目录
  2. 发布一个简单的工具函数(如格式化日期、加法函数)
  3. 尝试更新一个版本
  4. 使用其他项目 npm install 引用它

相关文章:

  • Web开发-JavaEE应用JNDI注入RMI服务LDAP服务DNS服务高版本限制绕过
  • Hadoop----高可用搭建
  • 【Redis】缓存三剑客问题实践(上)
  • Android JNI开发中头文件引入的常见问题与解决方案​,提示:file not found
  • 使用 LlamaIndex Workflows 与 Elasticsearch
  • Android 中实现图片翻转动画(卡片翻转效果)
  • Selenium 在爬取过程中,网络响应被退出的解决方案
  • C++算法(13):如何高效读取并存储未知数量的空格分隔数字
  • C语言高频面试题——sizeof和strlen的区别
  • 进程的同步和互斥
  • Seata 分布式事务 快速开始
  • Crawl4AI:打破数据孤岛,开启大语言模型的实时智能新时代
  • 597页PPT丨流程合集:流程梳理方法、流程现状分析,流程管理规范及应用,流程绩效的管理,流程实施与优化,流程责任人的角色认知等
  • Docker Compose常用命令
  • 公路路面病害检测
  • 数据结构:顺序表的实现
  • 使用 Spring Boot Admin 通过图形界面查看应用配置信息的完整配置详解,包含代码示例和注释,最后以表格总结关键配置
  • 使用 rebase 轻松管理主干分支
  • 描述城市出行需求模式的复杂网络视角:大规模起点-目的地需求网络的图论分析
  • 数据仓库ODS、DWD、DWS、ADS各层介绍
  • 文旅部副部长饶权出任国家文物局局长
  • “爱泼斯坦案”关键证人弗吉尼亚·朱弗雷自杀身亡
  • 新华时评·首季中国经济观察丨用好用足更加积极的财政政策
  • 金正恩出席朝鲜人民军海军驱逐舰入水仪式
  • 共话城市自然之美,“微观黄浦”自媒体网络大V沙龙首场活动举行
  • 中国与肯尼亚签署共同发展经济伙伴关系框架协定