如何在非 Node-API 版本旁發佈 Node-API 版本的套件
以下步驟以套件 iotivity-node
為例
- 首先,發佈非 Node-API 版本:
- 更新
package.json
中的版本。對於iotivity-node
,版本變為1.2.0-2
。 - 執行發佈檢查清單(確保測試/示範/文件正常)
npm 發佈
- 更新
- 然後,發布 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 版本。有關使用標籤的更多信息,請查看 "使用 dist-tags"。
如何引入對包的 Node-API 版本的依賴
要將 iotivity-node
的 Node-API 版本添加為依賴,package.json
將如下所示
"dependencies": {
"iotivity-node": "n-api"
}
如 "使用 dist-tags" 所解釋的,不像常規版本,標記版本無法透過
"^2.0.0"
之類的版本範圍在package.json
內被引用。這是因為標記是指確切的一個版本。所以,如果套件維護者選擇使用相同的標記標記套件的較新版本,npm update
將會收到較新的版本。這應該是可接受的版本,除了最新發佈的版本外,package.json
的依賴將不得不參考如下確切的版本。
"dependencies": {
"iotivity-node": "1.2.0-3"
}