Uso de pnpm con Lerna
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Lerna puede utilizarse en un espacio de trabajo pnpm para aprovechar al máximo tanto pnpm como Lerna.
Cuando se usa en un espacio de trabajo pnpm, Lerna:
-
resolverá las ubicaciones de paquetes usando
pnpm-workspace.yaml(https://pnpm.io/workspaces) -
ignorará
"workspaces"enpackage.json -
bloqueará los comandos
bootstrap,linkyadd. En su lugar, debes usar directamente los comandos depnpmpara gestionar dependencias (https://pnpm.io/cli/install). -
respetará el protocolo de espacio de trabajo para dependencias de paquetes.
- Durante
lerna version, las dependencias se actualizarán normalmente pero preservarán el prefijoworkspace:si existe. - Si se usa un alias de espacio de trabajo,
lerna versionno incrementará la versión de la dependencia, ya que los alias no especifican un número de versión para incrementar.
- Durante
Comenzando
Para configurar pnpm con Lerna:
-
Si aún no está instalado, instala
pnpm: https://pnpm.io/installation. -
Elimina la carpeta
node_modules/en la raíz si existe. Si aún no usas espacios de trabajo, ejecutalerna cleanpara eliminar las carpetasnode_modules/en todos los paquetes. -
Configura
"npmClient": "pnpm"enlerna.json. -
Crea un archivo
pnpm-workspace.yamlen la raíz de tu proyecto. Si ya usas espacios de trabajo de npm o yarn, mueve la propiedad "workspaces" depackage.jsonapnpm-workspace.yaml. Si aún no usabas espacios de trabajo, mueve la propiedad "packages" delerna.jsonapnpm-workspace.yaml. Por ejemplo:package.json{
"workspaces": ["packages/*"]
}y
lerna.json{
"packages": ["packages/*"]
}se convierten en:
pnpm-workspace.yamlpackages:
- "packages/*" -
(opcional) Ejecuta
pnpm importpara generar un archivopnpm-lock.yamldesde un archivo de bloqueo existente. Consulta https://pnpm.io/cli/import para ver las fuentes de archivos de bloqueo admitidas. -
Ejecuta
pnpm install.