npm包及版本管理

71 阅读1分钟

npm 包管理

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第2天,点击查看活动详情

1. 版本管理

npm version 会根据之前package.json里定义的版本自动打tag并更新package.json里版本

  • 执行前

    // package.json
    { "version": "1.0.1" }
    
  • 执行 npm version patch

  • 执行后

    # package.json
    { "version": "1.0.2" }
    
    # git上会新增一个v1.0.2的tag
    git tag
    

可在npm scripts里添加版本执行的钩子,做一些额外的操作

{
  "scripts": {
        // npm version 前
        "preversion": "npm test",
        // npm version 后
        "postversion": "git push && git push --tags"
    }
}

其他版本创建

# 小版本
npm version patch
# 次版本
npm version minor
# 主版本 api不兼容的breakchange
npm version major

2. 发布及删除

登录

# 修改源
nrm use npm
# 登录-用户名、密码、邮箱(只校验格式)
npm login

发布

# 发布-发布package.json里面定义的version
npm publish
# 删除指定版本

删除

# 删除指定版本
npm unpublish package-name@version --force
# 删除整个包
npm unpublish package-name --force

npm删除package限制 :

  1. 发布72小时内:

    • 无其他包依赖这个包
  2. 发布超过72小时

    • 上周下载量小于300
    • 无其他包依赖这个包
    • 只有一个维护者