发布一个npm package
Posted 开心的小程序员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了发布一个npm package相关的知识,希望对你有一定的参考价值。
1. 创建一个package.json文件
发布到npm registry的包必须包含一个packge.json文件。
1. 必需name字段
要求:
1. 只能是一个单词,但是可以包含-或_
2. 只能是小写字母
2. 必需version字段
version字段必须遵循语义化版本规范。
每变更一次,就需要修改一次版本号;告知使用者变更的范围和程度。
语义化版本规范
说明 | 阶段 | 规则 | 示例 |
初次发布 | 新产品 | 从1.0.0开始 | 1.0.0 |
向后兼容的bug修复 | 发布补丁 | 增加第三个数字 | 1.0.1 |
向后兼容的新功能 | 次要发布 |
增加第二个数字,并且重置第三个数字 |
1.10 |
改变较大,和之前不兼容 | 主要发布 |
增加第一个数字,后面的重置 |
2.0.0 |
3. 可选description字段
便于在npm网站查找
4. 可选author字段
可以是邮箱或者网址
Your Name <email@example.com> (http://example.com)
5. 可选main字段
入口文件。
6. 可选bin字段
可以实现全局命令。
1. 在node_modules文件夹中增加一个lyra的文件夹(含package.json和main对应的文件)
该文件可以通过require引用。
2. 设置bin字段{命令:路径},相当于node + 文件名
"bin": { "lyra": "./index.js(或者main对应的入口文件)" }
3. 在main对应的入口文件头部添加,表明使用node命令
#! usr/bin/env node
4. npm link 后将代码复制到全局环境位置,可以直接使用该命令
2. 如何创建一个package.json文件
1. npm init -y
// 也可以 npm init --yes
创建一个默认文件。然后在文件内修改。
2. npm init
根据逐步回答问题,创建package.json.
还可以自定义package.json的文件内容和npm init的问题。
3. npm set
> npm set init.author.email "example-user@example.com" > npm set init.author.name "example_user" > npm set init.license "MIT"
3. 注册npm
发布npm前需要登陆,登陆需要先注册:
npm adduser
密码要求复杂密码。
如果已经注册过, 则需要登陆:
npm login
查看是否登陆成功
npm who am i
4. 发布及失败原因
1. 发布
首先确保当前源是npm 的源,而不是第三方如cnpm的源。
npm publish
2. 失败原因查找
1. 确定package文件中name名称是否重复
2.确定邮箱是否已经验证
5.取消发布
npm unpublish XXX --force
以上是关于发布一个npm package的主要内容,如果未能解决你的问题,请参考以下文章