Vai al contenuto principale

Utilizzo di pnpm con Lerna

Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Lerna può essere utilizzato in uno spazio di lavoro pnpm per sfruttare appieno i vantaggi sia di pnpm che di Lerna.

Quando usato in uno spazio di lavoro pnpm, Lerna:

  • risolverà le posizioni dei pacchetti tramite pnpm-workspace.yaml (https://pnpm.io/workspaces)

  • ignorerà "workspaces" in package.json

  • bloccherà l'uso dei comandi bootstrap, link e add. Utilizza invece direttamente i comandi pnpm per gestire le dipendenze (https://pnpm.io/cli/install).

  • rispetterà il protocollo workspace per le dipendenze dei pacchetti.

    • Durante lerna version, le dipendenze verranno aggiornate normalmente, ma conserveranno il prefisso workspace: se presente.
    • Se viene utilizzato un alias workspace, lerna version non incrementerà la versione della dipendenza poiché gli alias non specificano un numero di versione da aggiornare.

Introduzione

Per configurare pnpm con Lerna:

  1. Se non già installato, installa pnpm: https://pnpm.io/installation.

  2. Rimuovi la cartella node_modules/ nella root, se presente. Se non usi già gli spazi di lavoro, esegui lerna clean per rimuovere le cartelle node_modules/ in tutti i pacchetti.

  3. Imposta "npmClient": "pnpm" in lerna.json.

  4. Crea un file pnpm-workspace.yaml nella root del progetto. Se usi già spazi di lavoro npm o yarn, sposta la proprietà "workspaces" da package.json a pnpm-workspace.yaml. Se non usavi spazi di lavoro, sposta la proprietà "packages" da lerna.json a pnpm-workspace.yaml. Esempio:

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

    e

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

    diventano:

    pnpm-workspace.yaml
    packages:
    - "packages/*"
  5. (opzionale) Esegui pnpm import per generare un file pnpm-lock.yaml da un lockfile esistente. Vedi https://pnpm.io/cli/import per le sorgenti lockfile supportate.

  6. Esegui pnpm install.