Come evitare l'installazione di pacchetti in monorepo usando Yarn


10

Ho costruito un monorepo usando gli spazi di lavoro di Lerna e Yarn .

Tutto funziona bene ma ogni volta che installo una nuova dipendenza su un pacchetto (chiamiamolo A ) usando:

yarn add <package_name>

Yarn lo aggiunge e quindi attiva lo installscript di tutti i pacchetti nel monorepo, anche i pacchetti su cui A non fa affidamento.

C'è comunque per evitare questo? Ci vuole qualche istante per installarli senza motivo.


Quindi hai usato entrambi i pacchetti Lerna e Yarn? Perché non solo Lerna? Inoltre, hai provato ad aggiungere il pacchetto con Lerna e impostare un ambito? github.com/lerna/lerna/tree/master/commands/add
kbariotis

Uso Lerna per pubblicare e versioni i miei pacchetti e le aree di lavoro Filato per gestire facilmente le dipendenze. Ho provato il tuo suggerimento e non ha funzionato. Grazie per aver provato :)
Erazihel,

Risposte:


4

Prova ad aggiungere allo spazio di lavoro specifico con: -

yarn workspace <workspace_name> add <package_name>

Per alcuni documenti controlla qui


Non voglio installare la dipendenza su tutto lo spazio di lavoro, ma solo su un pacchetto
Erazihel il

4

Puoi provare Yarn 2 con nodeLinker: node-modulesin .yarnrc.yml. Yarn 2 garantisce di innescare la ricostruzione solo sui pacchetti che hanno cambiato le loro dipendenze, questo è qualcosa che non è garantito da Yarn 1. Tuttavia ci sarà ancora un caso molto raro in cui i pacchetti apparentemente non correlati saranno ricostruiti se vengono sollevati in modo diverso dopo l'aggiunta di un nuovo pacchetto , ma questo accadrà molto raramente.


Ho provato il tuo suggerimento ma sembra che purtroppo il risultato sia sempre lo stesso ...: /
Erazihel

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.