当前位置: 首页 > 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 引用它

http://www.mrgr.cn/news/99356.html

相关文章:

  • redis数据类型-位图bitmap
  • 【Linux】线程ID、线程管理、与线程互斥
  • cnn 吴恩达 笔记 锚框+yolo 图像分割 +反卷积 unet
  • [密码学实战]详解gmssl库与第三方工具兼容性问题及解决方案
  • [密码学基础]GB与GM国密标准深度解析:定位、差异与协同发展
  • [密码学基础]密码学发展简史:从古典艺术到量子安全的演进
  • [密码学基础]GMT 0029-2014签名验签服务器技术规范深度解析
  • [密码学基础]国密算法深度解析:中国密码标准的自主化之路
  • Redis专题
  • [密码学基础]GMT 0002-2012 SM4分组密码算法 技术规范深度解析
  • NLP高频面试题(四十九)——大模型RAG常见面试题解析
  • [安全实战]逆向工程核心名词详解
  • Three.js 场景编辑器 (Vue3 + TypeScript 实现)
  • HTML 初识
  • # 手写数字识别:使用PyTorch构建MNIST分类器
  • Deepseek输出的内容如何直接转化为word文件?
  • [密码学基础]GM/T 0018-2023 密码设备应用接口规范深度解析:技术革新与开发者实践
  • 论文阅读:2025 arxiv AI Alignment: A Comprehensive Survey
  • c++:智能指针
  • 【学习笔记】Py网络爬虫学习记录(更新中)