web-dev-qa-db-fra.com

Utilisez un nom de répertoire personnalisé au lieu de node_modules lors de l'installation avec npm

Je crée un package.json, je lance npm install, cela fonctionne bien. Il crée un répertoire node_modules dans mon dossier racine (que je peux modifier en utilisant l'option --prefix). Cependant, je n'aime pas trop les soulignés. Je souhaite modifier le nom du répertoire dans lequel NPM télécharge les modules. Je veux qu'il soit nommé nmods ou node-modules ou quelque chose du genre.

Bower peut faire la même chose en lisant la propriété directory dans un fichier .bowerrc du répertoire en cours. Existe-t-il un moyen de faire la même chose avec NPM?

42
Zia Ur Rehman

Il n'y a aucun moyen de le changer. Le dossier node_modules n'est en réalité pas spécifique au NPM, il fait partie du système de chargement du module principal de Node. Vu ici dans module.js .

Le modifier globalement, comme vous l'avez mentionné, risquerait également de casser certains des modules que vous utilisez également, car les modules sont parfois des paquetages dont les dépendances sont déjà présentes dans node_modules.

39
loganfsmyth

Vous pouvez facilement y parvenir en ajoutant un fichier appelé '.yarnrc' Avec un contenu comme celui-ci:

# ./.yarnrc
--modules-folder lib

La prochaine fois que vous lancerez 'yarn', il créera le dossier lib et y installera les packages au lieu de node_modules

Maintenant, si seulement nous pouvions obtenir 'npm install' pour être aussi intelligent.

0
Dirk R

Il n'y a aucun moyen de le changer dans npm, cependant, il existe une option pour le configurer dans fil package manager .

yarn install --modules-folder <path>
0
MPazik