Cómo publicar un paquete Node-API
Cómo publicar una versión Node-API de un paquete junto con una versión no Node-API
Los siguientes pasos se ilustran utilizando el paquete iotivity-node
:
Primero, publica la versión no Node-API:
- Actualiza la versión en
package.json
. Paraiotivity-node
, la versión se convierte en 1.2.0-2. - Revisa la lista de verificación de la publicación (asegúrate de que las pruebas/demos/documentos estén bien).
npm publish
.
- Actualiza la versión en
Luego, publica la versión Node-API:
- Actualiza la versión en
package.json
. En el caso deiotivity-node
, la versión se convierte en 1.2.0-3. Para el control de versiones, recomendamos seguir el esquema de versiones preliminares descrito por semver.org, por ejemplo, 1.2.0-napi. - Revisa la lista de verificación de la publicación (asegúrate de que las pruebas/demos/documentos estén bien).
npm publish --tag n-api
.
- Actualiza la versión en
En este ejemplo, etiquetar la publicación con n-api
ha asegurado que, aunque la versión 1.2.0-3 sea posterior a la versión no Node-API publicada (1.2.0-2), no se instalará si alguien elige instalar iotivity-node
simplemente ejecutando npm install iotivity-node
. Esto instalará la versión no Node-API de forma predeterminada. El usuario tendrá que ejecutar npm install iotivity-node@n-api
para recibir la versión Node-API. Para obtener más información sobre el uso de etiquetas con npm, consulta "Uso de dist-tags".
Cómo introducir una dependencia en una versión Node-API de un paquete
Para añadir la versión Node-API de iotivity-node
como dependencia, el package.json
tendrá este aspecto:
"dependencies": {
"iotivity-node": "n-api"
}
Como se explica en "Uso de dist-tags", a diferencia de las versiones regulares, las versiones etiquetadas no pueden direccionarse mediante rangos de versiones como "^2.0.0"
dentro de package.json
. La razón es que la etiqueta se refiere exactamente a una versión. Por lo tanto, si el mantenedor del paquete decide etiquetar una versión posterior del paquete utilizando la misma etiqueta, npm update
recibirá la versión posterior. Esto debería ser aceptable en lugar de la última versión publicada, la dependencia package.json
tendrá que referirse a la versión exacta como la siguiente:
"dependencies": {
"iotivity-node": "1.2.0-3"
}