首页 > 其他分享 >发布yarn包

发布yarn包

时间:2023-06-27 10:13:12浏览次数:24  
标签:文件 package json init yarn 发布 软件包

创建软件包
首先我们需要创建一个软件包,可以通过下列几个命令来创建,如下所示:
git init my_yarn
cd my_yarn
yarn init
看一下这几个命令的执行效果:

其中 git init my_yarn 命令将会初始化创建一个新本地仓库,它在工作目录下生成一个名为 .git
的隐藏文件夹。然后使用cd my_yarn命令跳转到指定目录中,通过yarn init初始化一个新的项目。在执行yarn init 时会出现一些问题,根据需求为每个问题输入答案,最终会在根目录下生成一个package.json文件。如果想要对所有问题都使用默认值,可以直接运行yarn init --yes命令。
此时package.json文件的内容类似下面所示,当然根据输入答案的不同,内容也会有所不同:
{
"name":"my_yarn",
"version":"1.0.0",
"main":"index.js",
"author":"Your Name <[email protected]>",
"license":"MIT",
}
这个文件中一些字段,我们前面讲 package.json 文件的时候有讲到,特别是 name字段和version字段是不可或缺的。
后面如果我们还需要在package.json文件中添加一些配置,可以手动修改这个文件。
Readme.md文件
一般情况下,我们会在发布软件包之前在根目录中编写一个 Readme.md 文件。这个文件用户介绍软件包并记录公共 API。在定义Readme.md 文件时,需要为用户提供使用我们软件包的所需全部知识。假设某个人第一个使用这个软件包,可能会遇到很多问题,所以我们需要在文件中准确并尽可能详细地描述这个软件包,但也要尽量简短和易于阅读。
发布一个包
我们可以将创建好的 Yarn 软件包发布到 npm 注册表,该注册表用于在全球范围内分发软件包。
首先我们需要登录到 npm,如果还没有账号可以先注册一个账号,网址为:npm官网 https://www.npmjs.com/。注册账号大家应该都会吧,这里就演示啦。

然后使用 yarn login 命令登录,命令执行效果如下图所示:

这里会提示要我们输入用户名和电子邮件,但是不会要求我们输入密码,因为 Yarn 不会保留密码或任何会话。但是当我们需要在 npm 上发布或修改某些内容时,就需要用到密码了。
将准备工作完成后,就可以正式发布软件包啦,发布软件包的命令如下所示:
yarn publish
此时会要求我们输入要发布的新版本,如下图:

然后有可能出现报错,告诉我们软件包的名称重复啦,此时我们需要到 package.json文件中修改软件包的名称,例如修改为my_yarn_xkd,然后再次法度,一直到不重名为止:


这样一个软件包就发布成功啦,我们可以到官网上去通过软件包名称查找发布后的软件包。

如果我们在本地对软件包进行了修改,想要在 npm 上更新软件包,则需要先修改 package.json
文件中的版本号,然后再次执行 yarn publish 命令即可。

标签:文件,package,json,init,yarn,发布,软件包
From: https://www.cnblogs.com/Sultan-ST/p/17507911.html

相关文章

  • Rabbitmq:消息队列介绍、Rabbitmq安装、 基于Queue实现生产者消费者模型、基本使用(生产
    目录一、消息队列介绍1.1介绍1.2MQ解决什么问题1.3常见消息队列及比较二Rabbitmq安装2.1服务端原生安装2.2服务端Docker安装2.3客户端安装2.4设置用户和密码三基于Queue实现生产者消费者模型四基本使用(生产者消费者模型)五消息安全之ack六消息安全之durable持久化七闲置消......
  • 织梦 修改信息发布员的权限
    选择“系统”->选择“用户组设定”->选择信息发布员的“权限设定” 然后设置“信息发布员”的权限      ......
  • 云原生周刊:HashiCorp Vault 1.14 发布 | 2023.6.26
    开源项目推荐HelmfileHelmfile是一个开源工具,使用Helmcharts简化复杂应用程序的部署。它提供了一种声明性的方式来定义Kubernetes资源的期望状态,并管理Helmreleases的安装、升级和删除。KubeVPNKubeVPN是一个基于Kubernetes的开源VPN解决方案,它提供了一种简单的......
  • nginx 1.25.1 发布
    nginx1.25.1有一个很不错的特性,就是支持了http2指令,以前这个指令主要是也listen配置使用的(ssl+http2场景)独立指令之后就有了很方便的功能了,比如有些业务希望使用http0.9-1.1协议,有些需要使用http2,当然目前也是支持了http3的,可以做到分离,以前版本存在一个问题就是开启了之......
  • 发布一个Visual Studio 2022 插件,可以自动完成构造函数依赖注入代码
    赖注入(DI)在开发中既是常见的也是必需的技术。它帮助我们优化了代码结构,使得应用更加灵活、易于扩展,同时也降低了各个模块之间的耦合度,更容易进行单元测试,提高了编码效率和质量。不过,手动注入依赖项也可能会成为我们开发过程中的瓶颈。通常情况下,当我们需要注入大量依赖对象时,我......
  • Ingress-Nginx 灰度(金丝雀)发布
    使用Ingress-Nginx进行灰度(金丝雀)发布Ingress-NginxCanary介绍NginxIngressController作为项目对外的流量入口和项目中各个服务的反向代理。官方文档概述:Annotations-Ingress-NginxController(kubernetes.github.io)NginxAnnotations的几种Canary规则:Annota......
  • KubeSphere 社区双周报 | OpenFunction 发布 v1.1.1 | 2023.6.9-6.22
    KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2023.6.9-6.22。贡献者名单新晋KubeSphereContributor......
  • SeaTunnel 发布成为 Apache 顶级项目后首个版本 2.3.2,进一步提高 Zeta 引擎稳定性和易
    近日,ApacheSeaTunnel正式发布2.3.2版本。此时距离上一版本2.3.1发布已有两个多月,期间我们收集并根据用户和开发者的反馈,在2.3.2版本中对SeaTunnelZetaEngine进行了Bug修复,提高了引擎的稳定性和使用效率。此外,新版本还对Connector-V2中的连接器进行了功能和性......
  • 阿里云EMAS超级App助力Agmo电动车超级应用程序发布
    近日,阿里云宣布与马来西亚本土数字方案专家Agmo控股(AgmoHoldingsBerhad,简称Agmo)展开合作,签署谅解备忘录,联手推出马来西亚首个Agmo电动车超级应用程序。此次合作也标志着阿里云在中国以外的市场首次落地其最新的企业级超级App解决方案(EMAS超级App)。EMAS超级App解决方案是一个用于......
  • 低代码开发平台魔笔发布评测令
    阿里云低代码开发平台魔笔是一款面向全端(Web、H5、全平台小程序、App)场景,模型驱动的低代码开发平台,具有集成开放、一云多端、多云部署等优势,助力客户在数字化转型进程中真正实现降本增效。即日起至7月31日,参与活动就有机会赢取罗技G512游戏机械键盘、G502机械鼠标、小米背包、开......