Comment éviter l'installation de packages dans monorepo en utilisant Yarn


10

J'ai construit un monorepo en utilisant les espaces de travail Lerna et Yarn .

Tout fonctionne bien mais à chaque fois que j'installe une nouvelle dépendance sur un package (appelons-le A ) en utilisant:

yarn add <package_name>

Yarn l'ajoute et déclenche ensuite le installscript de tous les packages du monorepo, même les packages sur lesquels A ne s'appuie pas.

Il y en a quand même pour éviter ça? Il faut quelques instants pour les installer sans aucune raison.


Vous avez donc utilisé les packages Lerna et Yarn? Pourquoi pas seulement Lerna? Avez-vous également essayé d'ajouter le package avec Lerna et de définir une portée? github.com/lerna/lerna/tree/master/commands/add
kbariotis

J'utilise Lerna pour publier et versionner mes packages et les espaces de travail Yarn pour gérer facilement les dépendances. J'ai essayé votre suggestion et cela n'a pas fonctionné. Merci d'avoir essayé :)
Erazihel

Réponses:


4

Essayez d'ajouter à l'espace de travail spécifique avec: -

yarn workspace <workspace_name> add <package_name>

Pour certains documents, vérifiez ici


Je ne veux pas installer la dépendance à l'ensemble de l'espace de travail mais à un seul package
Erazihel

4

Vous pouvez essayer Yarn 2 avec nodeLinker: node-modulesin .yarnrc.yml. Yarn 2 garantit de déclencher la reconstruction uniquement sur les packages dont les dépendances ont été modifiées, c'est quelque chose qui n'était pas garanti par Yarn 1. Cependant, il y aura toujours un cas très rare où des packages apparemment sans rapport seront reconstruits s'ils sont hissés différemment après l'ajout d'un nouveau package , mais cela se produira très rarement.


J'ai essayé votre suggestion mais il semble que malheureusement le résultat soit toujours le même ...: /
Erazihel

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.