Utilizzo di pnpm con Lerna
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"inpackage.json -
bloccherà l'uso dei comandi
bootstrap,linkeadd. Utilizza invece direttamente i comandipnpmper 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 prefissoworkspace:se presente. - Se viene utilizzato un alias workspace,
lerna versionnon incrementerà la versione della dipendenza poiché gli alias non specificano un numero di versione da aggiornare.
- Durante
Introduzione
Per configurare pnpm con Lerna:
-
Se non già installato, installa
pnpm: https://pnpm.io/installation. -
Rimuovi la cartella
node_modules/nella root, se presente. Se non usi già gli spazi di lavoro, eseguilerna cleanper rimuovere le cartellenode_modules/in tutti i pacchetti. -
Imposta
"npmClient": "pnpm"inlerna.json. -
Crea un file
pnpm-workspace.yamlnella root del progetto. Se usi già spazi di lavoro npm o yarn, sposta la proprietà "workspaces" dapackage.jsonapnpm-workspace.yaml. Se non usavi spazi di lavoro, sposta la proprietà "packages" dalerna.jsonapnpm-workspace.yaml. Esempio:package.json{
"workspaces": ["packages/*"]
}e
lerna.json{
"packages": ["packages/*"]
}diventano:
pnpm-workspace.yamlpackages:
- "packages/*" -
(opzionale) Esegui
pnpm importper generare un filepnpm-lock.yamlda un lockfile esistente. Vedi https://pnpm.io/cli/import per le sorgenti lockfile supportate. -
Esegui
pnpm install.