如何发布 Node-API 包
如何与非 Node-API 版本一起发布 Node-API 版本的包
以下步骤以 iotivity-node
包为例进行说明:
首先,发布非 Node-API 版本:
- 更新
package.json
中的版本号。对于iotivity-node
,版本号变为 1.2.0-2。 - 完成发布检查清单(确保测试/演示/文档正常)。
npm publish
。
- 更新
然后,发布 Node-API 版本:
- 更新
package.json
中的版本号。对于iotivity-node
,版本号变为 1.2.0-3。对于版本控制,我们建议遵循 semver.org 中描述的预发布版本方案,例如 1.2.0-napi。 - 完成发布检查清单(确保测试/演示/文档正常)。
npm publish --tag n-api
。
- 更新
在这个例子中,使用 n-api
标记发布确保了,尽管版本 1.2.0-3 比非 Node-API 发布版本 (1.2.0-2) 新,但如果有人选择简单地运行 npm install iotivity-node
来安装 iotivity-node
,则不会安装它。这将默认安装非 Node-API 版本。用户必须运行 npm install iotivity-node@n-api
才能获得 Node-API 版本。有关使用 npm 标记的更多信息,请查看“使用 dist-tags”。
如何引入依赖包的 Node-API 版本
要添加 iotivity-node
的 Node-API 版本作为依赖,package.json
将如下所示:
json
"dependencies": {
"iotivity-node": "n-api"
}
如“使用 dist-tags”中所述,与常规版本不同,标签版本不能通过 package.json
内的版本范围(例如 "^2.0.0"
)来寻址。原因是该标签只指向一个版本。因此,如果包维护者选择使用相同的标签标记包的更高版本,npm update
将接收更高版本。这应该是可以接受的版本,而不是最新发布的版本,package.json
依赖项必须引用确切的版本,如下所示:
json
"dependencies": {
"iotivity-node": "1.2.0-3"
}