Saltar al contenido principal

Uso de pnpm con Lerna

Traducción Beta No Oficial

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" en package.json

  • bloqueará los comandos bootstrap, link y add. En su lugar, debes usar directamente los comandos de pnpm para 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 prefijo workspace: si existe.
    • Si se usa un alias de espacio de trabajo, lerna version no incrementará la versión de la dependencia, ya que los alias no especifican un número de versión para incrementar.

Comenzando

Para configurar pnpm con Lerna:

  1. Si aún no está instalado, instala pnpm: https://pnpm.io/installation.

  2. Elimina la carpeta node_modules/ en la raíz si existe. Si aún no usas espacios de trabajo, ejecuta lerna clean para eliminar las carpetas node_modules/ en todos los paquetes.

  3. Configura "npmClient": "pnpm" en lerna.json.

  4. Crea un archivo pnpm-workspace.yaml en la raíz de tu proyecto. Si ya usas espacios de trabajo de npm o yarn, mueve la propiedad "workspaces" de package.json a pnpm-workspace.yaml. Si aún no usabas espacios de trabajo, mueve la propiedad "packages" de lerna.json a pnpm-workspace.yaml. Por ejemplo:

    package.json
    {
    "workspaces": ["packages/*"]
    }

    y

    lerna.json
    {
    "packages": ["packages/*"]
    }

    se convierten en:

    pnpm-workspace.yaml
    packages:
    - "packages/*"
  5. (opcional) Ejecuta pnpm import para generar un archivo pnpm-lock.yaml desde un archivo de bloqueo existente. Consulta https://pnpm.io/cli/import para ver las fuentes de archivos de bloqueo admitidas.

  6. Ejecuta pnpm install.