zoukankan      html  css  js  c++  java
  • 记一次发布/更新npm包的过程及包版本管理

    您可以发布包含package.json文件的任何目录。这里如何首次发布程序包以及如何在以后更新程序包。

    如何发布包

    制备

    了解npm政策

    在开始之前,如果您对网站礼仪,命名,许可或其他指南有疑问,最好查看npm的政策。

    创建用户帐户

    要发布,您必须是npm注册表中的用户。如果您不是用户,请使用 npm adduser 创建帐户。如果您在网站(https://www.npmjs.com/)上创建了用户帐户,请使用npm login从终端访问您的帐户。

     

     **下图显示已登录成功到npm**

    测试:

    1. 键入npm whoami从终端看,如果你已经登录(从技术上讲,这也意味着你的证书已经存储在本地)。
    2. 检查您的用户名是否已添加到注册表https://npmjs.com/~username。(username为账户名),例如:

    新建项目文件夹并在当前文件夹打开cmd命令,接着输入npm init创建package.json

    查看包目录

    此时文件夹中会生成一个package.json文件

    查看内容

    请注意,除非本地.gitignore.npmignore文件忽略该目录,否则将包含目录中的所有内容。要了解如何使用这些命令,请参阅npm-developers

    查看package.json文件

    阅读使用package.json以确保所需的详细信息反映在您的包中。

    选择一个名字

    为您的包选择一个唯一的名称。尝试选择一个描述性名称:

    • 还没有其他人拥有
    • 除了拼写错误之外,拼写不会像其他名字一样拼写
    • 不会混淆他人的作者身份
    • 符合npm政策指南。例如,不要将您的包命名为冒犯性的,也不要使用其他人的商标名称。
    • 在package.json文件的相应行中指定名称。

    注意:如果您使用范围,则前3个警告不适用。

    包含文档(readme.md)

    npm建议您包含一个自述文件来记录您的包。自述文件必须具有文件名readme.md。文件扩展名.md表示该文件是markdown文件。当有人找到您的包裹时,此文件将显示在npm网站上。

    在开始之前,请查看一些软件包页面,以获取可以添加到自述文件中的信息的想法,并了解为什么这么重要。

    1. 使用任何文本编辑器创建文件。
    2. 将其保存在项目目录中,名称为readme.md
    3. 发布时,此文档将显示在人们下载程序包的网页上。

    可以先在有道云笔记上新建一个Markdown文件,编辑完成后再复制到包中替换Readme.md文件

    有道云笔记Markdown文件编辑指南:http://note.youdao.com/iyoudao/?p=2411&vendor=unsilent14

    在npm官网上显示readme.md文件如下:

    登录npm账号并使用npm publish发布包。

    输入npm login;登陆自己的账号,密码,邮箱

    测试

    https://npmjs.com/package/<package>。你应该看到一个关于你的新包的页面。它可能看起来像这样:

    恭喜!

    如何更新包

    如何更新版本号

    进行更改时,可以使用更新包

    npm version <update_type>

    其中<update_type>是语义版本控制版本之一,补丁,次要或主要版本。

    此命令将自动更改版本号package.json中的version字段值。

    此处延伸一下版本号管理的内容:

    版本号
    语义化版本:https://semver.org/lang/zh-CN/
    版本号格式:主版本号.次版本号.修订号
    版本号递增规则:
    - 主版本号:做了不兼容修改或颠覆式的重写
    - 次版本号:向下兼容的功能性新增
    - 修订号:向下兼容的问题修正
    先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。

    版本号只能增加,禁止下降,代码的修改必须以新版本形式更新;最初版本建议是从v0.1.0开始,0.x.y阶段是基础功能、公众API开发阶段。

    1.0.0版本发布时机:
    - 被用于正式环境
    - 稳定的API被使用者依赖
    - 很担心向下兼容的问题

    万一不小心把一个不兼容的改版当成了次版本号发行了该怎么办?一旦发现自己破坏了语义化版本控制的规范,就要修正这个问题,并发行一个新的次版本号来更正这个问题并且恢复向下兼容。即使是这种情况,也不能去修改已发行的版本。

    npm管理项目版本号
    在命令行窗口输入npm version ?可以查看可以使用的命令:
    执行命令及版本提升示例:

    假设初始版本为0.1.0
    ➜  xxx git:(master) npm version preminor
    v0.1.0-0
    ➜  xxx git:(master) npm version minor
    v0.1.0
    ➜  xxx git:(master) npm version prepatch
    v0.1.1-0
    ➜  xxx git:(master) npm version patch   
    v0.1.1
    ➜  xxx git:(master) npm version prerelease
    v0.1.2-0
    ➜  xxx git:(master) npm version premajor
    v1.0.0-0
    ➜  xxx git:(master) npm version major   
    v1.0.0
    

    如果使用git进行项目管理,在进行版本提升前,需要将修改内容提交,即commit,然后再执行npm version xxx进行版本提升,版本提升会自动被提交到当前分支中,可以通过git log进行查看。  

    注意:如果您已将一个标签与您的npm帐户相关联,那么这也会将更新后的版本号添加到您的git存储库中。

    更新版本号后,npm publish再次运行。

    测试:转到https://npmjs.com/package/<package>。包裹号码应该更新。

    如何更新自述文件

    除非发布新版本的软件包,否则不会更新网站上显示的自述文件,因此您需要运行npm version patchnpm publish更新网站上显示的文档。

  • 相关阅读:
    pip不是内部或外部命令也不是可运行的程序或批处理文件的问题
    动态规划 leetcode 343,279,91 & 639. Decode Ways,62,63,198
    动态规划 70.climbing Stairs ,120,64
    (双指针+链表) leetcode 19. Remove Nth Node from End of List,61. Rotate List,143. Reorder List,234. Palindrome Linked List
    建立链表的虚拟头结点 203 Remove Linked List Element,82,147,148,237
    链表 206 Reverse Linked List, 92,86, 328, 2, 445
    (数组,哈希表) 219.Contains Duplicate(2),217 Contain Duplicate, 220(3)
    重装系统
    java常用IO
    端口
  • 原文地址:https://www.cnblogs.com/itgezhu/p/13209293.html
Copyright © 2011-2022 走看看