web-dev-qa-db-fra.com

Changer le répertoire d'installation global par défaut pour les modules node.js sous Windows?

Dans mon installation de Windows, PATH inclut C:\Program Files\nodejs, où l'exécutable node.exe est. Je peux lancer node à partir de Shell, ainsi que npm. J'aimerais que de nouveaux exécutables soient installés dans C:\Program Files\nodejs également, mais cela semble impossible.

La définition des variables NODE_PATH et NODE_MODULES ne change rien: les choses sont toujours installées dans %appdata%\npm par défaut.

Comment puis-je changer le chemin d'installation global?

109
gremo

Tout ce dont vous avez besoin est de lire npm-folders documentation . Je ne veux pas démarrer mon portable Win maintenant, je ne peux donc pas le vérifier, mais vous ne devez changer que prefix en c:\Program Files\nodejs dans votre fichier de configuration. Si vous souhaitez le modifier globalement pour tous les utilisateurs, éditez le fichier c:\Program Files\nodejs\npmrc, sinon créez/éditez le c:\Users\{username}\.npmrc.

Mais ce changement aura probablement des effets secondaires alors lisez cette discussion avant. Je pense que votre idée n'est pas bonne.

67
ivoszz

Vous pouvez voir ma réponse à ceci dans mon réponse à une autre question .


Sous Windows, le chemin d'installation global se trouve réellement dans le répertoire du profil de l'utilisateur. 

  • %USERPROFILE%\AppData\Roaming\npm
  • %USERPROFILE%\AppData\Roaming\npm-cache 
  • AVERTISSEMENT: Si vous organisez des événements programmés ou une autre automatisation en tant qu’utilisateur différent, assurez-vous d’exécuter npm install en tant qu’utilisateur. Certains modules/utilitaires doivent être installés globalement.
  • BOGUES DE L’INSTALLATEUR: Vous devrez peut-être créer ces répertoires ou ajouter vous-même le répertoire ...\npm à votre chemin d’utilisateur.

Pour modifier l'emplacement "global" de tous les utilisateurs en un emplacement global partagé plus approprié, %ALLUSERSPROFILE%\(npm|npm-cache) (procédez comme suit en tant qu'administrateur):

  • créer un répertoire [NODE_INSTALL_PATH]\etc\
    • cela est nécessaire avant d'essayer les actions npm config --global ...
  • créer le ou les emplacements globaux (admin) pour les modules npm
    • C:\ProgramData\npm-cache - les modules npm iront ici
    • C:\ProgramData\npm - les scripts binaires pour les modules installés globalement iront ici
    • C:\ProgramData\npm\node_modules - les modules installés globalement iront ici
    • définir les autorisations de manière appropriée
      • administrateurs: modifier
      • utilisateurs authentifiés: lecture/exécution
  • Définissez les paramètres de configuration globale (invite de commande de l'administrateur)
    • npm config --global set prefix "C:\ProgramData\npm"
    • npm config --global set cache "C:\ProgramData\npm-cache"
  • Ajoutez C:\ProgramData\npm à la variable d'environnement Path de votre système 

Si vous souhaitez modifier l'emplacement "global" de votre utilisateur en chemin %LOCALAPPDATA%\(npm|npm-cache):

  • Créez les répertoires nécessaires
    • C:\Users\YOURNAME\AppData\Local\npm-cache - les modules npm iront ici
    • C:\Users\YOURNAME\AppData\Local\npm - les scripts binaires pour les modules installés iront ici
    • C:\Users\YOURNAME\AppData\Local\npm\node_modules - les modules installés globalement iront ici
  • Configurez npm
    • npm config set prefix "C:\Users\YOURNAME\AppData\Local\npm"
    • npm config set cache "C:\Users\YOURNAME\AppData\Local\npm-cache"
  • Ajoutez le nouveau chemin npm à la PATH..__ de votre environnement.
    • setx PATH "%PATH%;C:\Users\YOURNAME\AppData\Local\npm"
54
Tracker1

S'appuyant sur le concept d'installation de chocolatey et l'idée suggérée par @Tracker, ce qui a fonctionné pour moi a été de faire ce qui suit et tous les utilisateurs de Windows étaient alors heureux de travailler avec nodejs et npm.

Choisissez C:\ProgramData\nodejs comme répertoire d'installation pour nodejs et installez nodejs avec tout utilisateur membre du groupe d'administrateurs.

Créez un dossier appelé npm-cache à la racine du répertoire d’installation qui, après ce qui précède, serait C:\ProgramData\nodejs\npm-cache.

Créez un dossier appelé etc à la racine du répertoire d’installation qui, après ce qui précède, serait C:\ProgramData\nodejs\etc.

Définissez la variable d'environnement NODE sur C:\ProgramData\nodejs.

Définissez la variable d'environnement NODE_PATH sur C:\ProgramData\nodejs\node_modules.

Assurez-vous que la variable d'environnement %NODE% précédemment créée ci-dessus est ajoutée (ou que son chemin d'accès) est ajouté à la variable d'environnement %PATH%.

Éditez %NODE_PATH%\npm\npmrc avec le contenu suivant prefix=C:\ProgramData\nodejs

A partir de l'invite de commande, définissez la configuration globale comme suit ...

npm config --global set prefix "C:\ProgramData\nodejs"

npm config --global set cache "C:\ProgramData\nodejs\npm-cache"

Il est important que les étapes ci-dessus soient effectuées de préférence en séquence et avant de mettre à jour npm (npm -g install npm@latest) ou de tenter d'installer un module npm.

Les étapes ci-dessus nous ont aidés à exécuter nodejs en tant qu'installation à l'échelle du système, facilement accessible à tous les utilisateurs disposant des autorisations appropriées. Chaque utilisateur peut ensuite exécuter node et npm selon les besoins.

18
Damilola

Vous devez utiliser cette commande pour définir le flocage d'installation global des packages npm

(git bash) npm config --global set prefix </path/you/want/to/use>/npm

(cmd/git-cmd) npm config --global set prefix <drive:\path\you\want\to\use>\npm

Vous pouvez également considérer l'emplacement npm-cache juste à côté. (comme dans une installation nodejs normale sous Windows)

(git bash) npm config --global set cache </path/you/want/to/use>/npm-cache

(cmd/git-cmd) npm config --global set cache <drive:\path\you\want\to\use>\npm-cache

11
davejoem

Le dossier global par défaut est C:\Users\{username}\AppData\Roaming\npm. Vous pouvez créer (s'il n'existe pas) un fichier .npmrc dans C:\Users\{username}\ et ajouter prefix = "path\\to\\yourglobalfolder". Notez que, dans Windows, le chemin doit être séparé par double back-slash.

4
angeldsWang

L'utilisation d'un lien symbolique Windows à partir des chemins d'accès C:\Utilisateurs {nom d'utilisateur}\AppData\Roaming\npm et C:\Utilisateurs {nom d'utilisateur}\AppData\Roaming\npm-cache a fonctionné à merveille pour moi.

Comment ajouter un lien symbolique

 enter image description here

3
C0r3yh

Sous Windows, si vous souhaitez déplacer le dossier npm ou nodejs du disque C vers un autre emplacement, mais que le nœud et le npm fonctionnent correctement, vous pouvez créer un lien symbolique comme celui-ci: Ouvrez l'invite de commande:

mklink /D "your_location_want_to_create_symlink" "location_of_node_npm_file"

Exemple: 

mklink /D "C:\Users\MyUser\AppData\Roaming\npm" "D:\Nodejs Data\npm"

Maintenant que vous avez créé un lien symbolique pour le dossier npm, ce lien symbolique fera référence à D:\Nodejs Data\npmTout va bien fonctionner.

1
Vinh Trieu

il ne nécessite pas beaucoup de configurations, il suffit d'aller dans les paramètres système avancés, de copier le chemin où vous avez installé votre nœud, de créer une variable d'environnement et de vérifier avec la commande node -v dans votre invite!

0
Animesh Saxena

J'ai essayé la plupart des réponses ici, rien ne semble fonctionner dans mon cas. J'ai donc changé l'emplacement de Temp dans mes variables env en C:\npm. Ensuite, cela a commencé à fonctionner. Ce n'est pas une bonne idée mais une solution temporaire.

0
Manoj

Supprimer le dossier du nœud complètement du dossier du programme. Désinstallez node.js puis réinstallez-le . Change Chemin de la variable d'environnement PATH. supprimer le fichier .npmrc de C:\utilisateurs\votre nom d'utilisateur

0
Santosh Kadam

Pour modifier le répertoire d'installation global par défaut des modules node.js (npm) sous Windows, vous devez corriger 2 chemins.

Commencez par vérifier le chemin actuel d'installation des modules de noeud lorsque vous essayez de les installer globalement à l'aide de la commande suivante:

npm list -g --depth = 0

Il vous renverra le chemin actuel où les modules de nœud sont en cours d'installation. Exemple: D:\vsc\TypeScript

Maintenant, visitez le chemin suivant pour voir les dossiers npm et npm-cache. C:\Utilisateurs\nom d'utilisateur (numéro OR)\AppData\Itinérance

Dans le dossier Roaming de votre lecteur C, vous trouverez les dossiers npm et npm-cache. Cliquez sur le dossier + npm + et sélectionnez le chemin [Cliquez simplement sur le chemin de la barre sera automatiquement sélectionné, copiez-le]. Ceci est une image du chemin que vous devez sélectionner

Une fois que vous avez copié ce chemin, définissez-le sur les variables d’environnement, avec un nom de variable Path (tout ce que vous pouvez sélectionner comme nom). Maintenant que vous avez défini le chemin d'accès à votre dossier npm, il est maintenant temps de définir le préfixe. Allez dans le dossier npm et vérifiez s’il existe un dossier node_module. Sinon, créez un nouveau dossier nommé node_modules. Tous les modules globaux viendront dans ce dossier une fois toutes les étapes terminées.

Dernière étape: Allez dans CMD et à droite la commande suivante:

npm définir le préfixe C:\Utilisateurs\nom_utilisateur (numéro)\AppData\Roaming\npm\node_modules

Encore une fois, c’est le même chemin que nous avons choisi pour la variable d’environnement, nous ajoutons simplement un autre dossier dans le chemin, c’est node_module.

All Set .... Essayez maintenant ... Cela fonctionnera ..

0
TechTutsIndia

Recherchez le chemin actuel de l'installation de votre package de noeud global en suivant la commande.

npm list -g --depth = 0

Modifiez ce chemin en chemin correct en suivant la commande.

npm définir le préfixe C:\Utilisateurs\nom_utilisateur (numéro)\AppData\Roaming\npm\node_modules

Cela a fonctionné pour moi. Lisez ma réponse précédente pour une meilleure compréhension.

0
TechTutsIndia