Yarn: Demande de fonctionnalité: dossier node_modules centralisé

Créé le 29 nov. 2016  ·  4Commentaires  ·  Source: yarnpkg/yarn

Existe-t-il un moyen d'installer toutes les dépendances npm globalement (de manière centralisée) afin de ne pas stocker node_modules dans le dossier du projet?

Cela pose des problèmes car le framework utilisé par la société pour laquelle je travaille est assez lourd et j'ai plus de 40 projets chacun avec leur propre dossier node_modules, contenant des millions de fichiers de 1 ko.

Cela prend une quantité surprenante d'espace précieux sur mon SSD et ce serait vraiment bien si je pouvais simplement installer ces packages une fois, avec le package.json de n'importe quel projet lié à mon référentiel local

cat-feature help wanted needs-discussion

Commentaire le plus utile

https://github.com/rstacruz/pnpm fait exactement cela. Utilise la fonction --preserve-symlinks Node.

Tous les 4 commentaires

@alshdavid les choses que vous require sont des dépendances et doivent être installées localement. les modules globaux sont destinés aux outils de ligne de commande non spécifiques au projet.

imo ce n'est pas vraiment une question de fil à moins que yarn ne fournisse un moyen de créer un lien symbolique des modules globaux dans le répertoire local, ce qui, selon moi, ne fonctionnerait pas avec l'écosystème npm.

Je pense que ce serait utile. Le problème est qu'il est difficile de changer la façon dont les choses sont faites sans changer Node.js, car Node.js s'attend à ce que les choses soient faites d'une manière particulière et les modules à être organisés d'une manière particulière. 😞 J'aimerais aussi renommer le répertoire de node_modules en quelque chose d'autre car tout le monde n'utilise pas Node.js.

Il y a quelques problèmes GitHub concernant les liens symboliques et les liens physiques en tant que solution potentielle pour les performances et l'espace disque - # 499 couvre les liens physiques. Cependant, les fichiers prendraient encore de la place dans le système de fichiers. J'ai l'impression qu'un système de fichiers Copy-on-Write tel que BTRFS ou ZFS aiderait également, car les fichiers ne seront pas réellement copiés et pointeraient plutôt vers les fichiers d'origine dans le répertoire de cache.

https://github.com/rstacruz/pnpm fait exactement cela. Utilise la fonction --preserve-symlinks Node.

Le plus proche de cela semble être le # 499, donc je ferme celui-ci en faveur de cela.

Cette page vous a été utile?
0 / 5 - 0 notes