如何发布 Node-API 包
如何同时发布一个包的 Node-API 版本和非 Node-API 版本
以下步骤使用 iotivity-node
包进行说明:
首先,发布非 Node-API 版本:
- 更新
package.json
中的版本。对于iotivity-node
,版本变为 1.2.0-2。 - 完成发布清单(确保测试/演示/文档都 OK)。
npm publish
。
- 更新
然后,发布 Node-API 版本:
- 更新
package.json
中的版本。对于iotivity-node
,版本变为 1.2.0-3。对于版本控制,我们建议遵循 semver.org 描述的预发布版本方案,例如 1.2.0-napi。 - 完成发布清单(确保测试/演示/文档都 OK)。
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 结合使用的更多信息,请查看 "Using dist-tags"。
如何引入对包的 Node-API 版本的依赖
要添加 iotivity-node
的 Node-API 版本作为依赖项,package.json
将如下所示:
json
"dependencies": {
"iotivity-node": "n-api"
}
如 "Using dist-tags" 中所述,与常规版本不同,标记版本不能通过 package.json
中的版本范围(例如 "^2.0.0"
)来寻址。原因是该标签恰好引用一个版本。因此,如果包维护者选择使用相同的标签标记包的更高版本,则 npm update
将接收到更高版本。除了最新发布的版本之外,这应该是可以接受的版本,package.json
依赖项必须引用确切的版本,如下所示:
json
"dependencies": {
"iotivity-node": "1.2.0-3"
}