Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Preguntas frecuentes
Este documento es un trabajo en progreso.
¿Cómo añado una dependencia de terceros a mi repositorio de Lerna?
Lerna no se encarga de añadir ni vincular tus dependencias; eso es lo que tu gestor de paquetes preferido (npm/yarn/pnpm) hace mejor. Al usar la función workspaces de tu gestor de paquetes, todo el enlace de paquetes locales ocurrirá automáticamente según las relaciones que configures en tus archivos package.json.
Puedes consultar la documentación sobre workspaces para tu gestor de paquetes aquí:
-
pnpm(https://pnpm.io/workspaces)
NOTA: Como Lerna es anterior a la función workspaces en los gestores de paquetes, históricamente existieron algunos comandos (add, bootstrap y link) que intentaron cubrir esa necesidad. Afortunadamente, estos comandos ya no son necesarios y Lerna puede centrarse en lo que mejor hace, dejando que los gestores de paquetes hagan lo mismo.
Nuevos paquetes dentro del repositorio de Lerna
Puedes usar el comando lerna create para crear nuevos paquetes dentro de tu repositorio de Lerna.
lerna create <packageName>
Consulta la documentación de create para más opciones.
Si prefieres no usar lerna create, igualmente puedes crear un paquete manualmente ejecutando npm init dentro de un subdirectorio de la carpeta packages, y Lerna lo detectará automáticamente.
Paquetes existentes
Puedes usar lerna import <package> para transferir un paquete existente
a tu repositorio de Lerna; este comando preservará el historial de commits.
lerna import <package> requiere una ruta local en lugar de una URL. En este
caso necesitarás tener el repositorio que deseas vincular en tu sistema de archivos.
¿Cómo reintento la publicación si publish falla?
Cuando algunos paquetes se publican correctamente y otros no, lerna publish puede dejar el repositorio en un estado inconsistente con archivos modificados. Para recuperarse, restablece los cambios locales adicionales de la ejecución fallida para volver a un árbol de trabajo limpio. Luego, reintenta el mismo comando lerna publish. Lerna intentará publicar todos los paquetes nuevamente, pero reconocerá los que ya se publicaron y los omitirá con una advertencia.
Si usaste el comando lerna publish sin argumentos posicionales para seleccionar una nueva versión de los paquetes, puedes ejecutar lerna publish from-git para reintentar publicar esa misma versión ya etiquetada, en lugar de tener que incrementar la versión nuevamente durante el reintento.
¿Cómo detecta Lerna los paquetes?
Por defecto, para npm y yarn, Lerna usa la propiedad workspaces configurada en package.json para saber sobre qué paquetes operar. Para detalles sobre esta propiedad, consulta la documentación de npm o la documentación de yarn.
Si estás usando pnpm, es posible que hayas configurado npmClient como pnpm en lerna.json. En este caso, Lerna utilizará la propiedad packages en pnpm-workspace.yaml para determinar qué paquetes debe gestionar. Para más detalles sobre esta propiedad, consulta la documentación de pnpm.
Si deseas que lerna se centre en un subconjunto específico de paquetes de tu repositorio, puedes utilizar la propiedad packages en lerna.json para buscar paquetes.