如何发布N-API包
使用包iotivity-node
说明了以下步骤:
首先,发布非N-API版本:
- 更新
package.json
中的版本,对于iotivity-node
,版本变为1.2.0-2
。 - 浏览发布清单(确保测试/演示/文档正常)。
-
npm publish
。
- 更新
然后,发布N-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晚于非N-API发布版本(1.2.0-2),如果有人选择通过简单地运行npm install iotivity-node
来安装iotivity-node
,则不会安装它。这将默认安装非N-API版本,用户必须运行npm install iotivity-node@n-api
才能接收N-API版本,有关在npm中使用标签的更多信息,请查看“使用dist-tags”。
引入包的N-API版本的依赖
要将iotivity-node
的N-API版本添加为依赖项,package.json
将如下所示:
"dependencies": {
"iotivity-node": "n-api"
}
注意:如“使用dist-tags”中所述,与常规版本不同,标记版本无法通过版本范围进行处理,例如package.json
中的"^2.0.0"
,原因是标签只涉及一个版本。因此,如果软件包维护者选择使用相同的标记标记软件包的更高版本,则npm update
将收到更高版本的版本。鉴于N-API目前的实验性质,这应该是可接受的,要依赖于最新发布的N-API启用版本,package.json
依赖项必须引用如下所示的确切版本:
"dependencies": {
"iotivity-node": "1.2.0-3"
}