Juste pour que tout le monde le sache, l'installation sans -goption installera un module dans votre répertoire de travail, par exemple si vous faites un répertoire dire ~/Desktop/tmpalors cd ~/Desktop/tmppuis faites npm install appiumalors lsvous verrez node_modules package-lock.jsonparce que vous avez installé un module de noeud appiumsur votre working directory... super déroutant car -gdevrait être essentiellement le defaultmais ne l'est pas.
Vous pouvez exécuter npm list -gpour voir quelles bibliothèques globales sont installées et où elles se trouvent. À utiliser npm list -g | head -1pour une sortie tronquée affichant uniquement le chemin. Si vous souhaitez afficher uniquement les packages principaux et non ses sous-packages qui s'installent avec lui - vous pouvez utiliser - npm list --depth=0qui afficheront tous les packages et pour obtenir uniquement les packages installés globalement, ajoutez simplement -g ie npm list -g --depth=0.
Sur les systèmes Unix, ils sont normalement placés /usr/local/lib/nodeou /usr/local/lib/node_modulesinstallés globalement. Si vous définissez la NODE_PATHvariable d'environnement sur ce chemin, les modules peuvent être trouvés par nœud.
Windows XP - %USERPROFILE%\AppData\npm\node_modules
Windows 7, 8 et 10 -%USERPROFILE%\AppData\Roaming\npm\node_modules
Bibliothèques non globales
Les bibliothèques non globales sont installées dans le node_modulessous-dossier du dossier dans lequel vous vous trouvez actuellement.
Vous pouvez exécuter npm listpour voir les bibliothèques non globales installées pour votre emplacement actuel.
Lors de l'installation, utilisez l'option -g pour installer globalement
npm install -g pm2- pm2 sera installé dans le monde. Il sera ensuite généralement trouvé dans /usr/local/lib/node_modules(Utilisez npm root -gpour vérifier où.)
npm install pm2- pm2 sera installé localement. Il sera ensuite généralement trouvé dans le répertoire local de/node_modules
Si vous utilisez nvm, vos modules globaux peuvent se trouver à plusieurs endroits en fonction de la version du nœud que vous utilisez à l'époque. La meilleure façon est d'utiliser npm list -gcomme suggéré dans une autre réponse.
inscriptible
73
ne fonctionne pas pour moi, affiche uniquement le dossier bin. "npm root -g" fonctionne.
whitneyland
7
sous Arch linux, les modules globaux sont sous / usr / lib. "npm --help" affiche l'emplacement exact comme dernière ligne de la sortie, par exemple: [email protected] / usr / lib / node_modules / npm
Gregor
20
pour Windows 10, placé dans%USERPROFILE%\AppData\Roaming\npm\node_modules
Nirmal Goswami
11
"npm root -g" est correct - la liste peut fonctionner mais contient beaucoup trop d'informations, alors que l'autre commande vous donne simplement l'emplacement exact que vous recherchez. stackoverflow.com/a/24295332/174965
Adam Tolley
581
La commande npm rootvous indiquera le répertoire d'installation effectif de vos packages npm.
Si votre répertoire de travail actuel est un package de nœuds ou un sous-répertoire d'un package de nœuds, npm rootvous indiquera le répertoire d'installation local. npm root -gaffichera la racine d'installation globale quel que soit le répertoire de travail actuel.
+1 sur cette réponse (au moins sous Linux Mint 17 Qianna et npm 3.9.5). Mon node_modulesdossier global est dans /usr/local/lib/node_modules. Quand je fais c'est-à-dire sudo npm uninstall browserify -g(en supposant que je l'avais fait sudo npm install browserify -gavant), il le supprime de là.
nik_m
10
C'est une réponse beaucoup plus utile, car la sortie convient à la composition de commandes plus importantes sans extraire le chemin d'un tas de sorties.
Adam Tolley
2
La racine par défaut sur le système d'exploitation Windows est C: \ Users \ YOUR_USER_NAME \ AppData \ Roaming \ npm \ node_modules
Vincent Tang
2
Pour MacOS Mojave 10.14.5, c'est aussi/usr/local/lib/node_modules
Jim Aho
89
Pour les modules installés à l'échelle mondiale:
Les autres réponses vous donnent des réponses spécifiques à la plate-forme, mais une réponse générique est la suivante:
Lorsque vous installez le module global avec npm install -g something, npm recherche une variable de configuration prefixpour savoir où installer le module.
Vous pouvez obtenir cette valeur en exécutant npm config get prefix
Pour afficher tous les modules globaux disponibles dans ce dossier, utilisez npm ls -g --depth 0( depth 0pour ne pas afficher leurs dépendances).
Si vous souhaitez modifier le chemin global des modules, utilisez npm config editet placez prefix = /my/npm/global/modules/prefixle fichier ou utilisez npm config set prefix /my/npm/global/modules/prefix.
Lorsque vous utilisez certains outils comme nodist , ils modifient le chemin d'installation par défaut de la plate-forme des modules npm globaux.
Vous avez répondu à ma question de suivi: "Quelqu'un peut-il me dire comment je peux changer l'emplacement des modules Node.js?" Remarque: La raison pour laquelle cela était important pour moi était que je n'ai pas eu à changer de nouveau mon CHEMIN. J'ai décommenté la suggestion par défaut dans le fichier npmrc que {npm config get prefx} s'ouvre.
HeyZiko
"Lorsque vous utilisez certains outils comme nodist, ils modifient le chemin d'installation par défaut de la plate-forme des modules npm globaux." +1
Jim Aho
65
Sur les fenêtres, je npm list -gle découvrais. Par défaut, mes packages (globaux) étaient installés sur C:\Users\[Username]\AppData\Roaming\npm.
Si vous avez installé globalement des packages npm où node a été installé avec homebrew puis npm mis à jour avec npm lui-même, vous pouvez avoir des command not founderreurs. Si oui, ajoutez ce qui précède à votre CHEMIN: export PATH=$PATH:$(npm bin -g)voila
jacob
18
Dans les versions antérieures des modules NPM étaient toujours placés dans / usr / local / lib / node ou partout où vous avez spécifié la racine npm dans le fichier .npmrc. Cependant, dans NPM 1.0+, les modules sont installés à deux endroits. Vous pouvez avoir des modules installés localement sur votre application dans /.node_modules ou vous pouvez les faire installer globalement qui utilisera ce qui précède.
Quelque chose à noter - avec les modules 1.0 sont stockés dans / usr / local / lib / node_modules.
Nick Campbell
@EricSmith, votre lien est également rompu
nicolimo86
16
Pas de réponse directe mais peut aider ...
Le npm possède également un dossier de cache, qui peut être trouvé en exécutant npm config get cache( %AppData%/npm-cachesous Windows).
Les modules npm sont d'abord téléchargés ici, puis copiés dans le dossier global npm ( %AppData%/Roaming/npmsous Windows) ou dans un dossier spécifique au projet ( your-project/node_modules).
Donc, si vous voulez suivre les packages npm, et comment, la liste de tous les packages npm téléchargés (si le cache npm n'est pas nettoyé) consultez ce dossier. La structure des dossiers est la suivante:{cache}/{name}/{version}
Dans npm 1.0, il y a deux façons d'installer des choses:
globalement - Cela dépose les modules {prefix}/lib/node_moduleset place les fichiers exécutables {prefix}/bin, où se {prefix}trouve généralement quelque chose comme /usr/local. Il installe également les pages de manuel dans
{prefix}/share/man, si elles sont fournies.
localement: cela installe votre package dans le répertoire de travail actuel. Les modules de nœuds entrent ./node_modules, les exécutables entrent
./node_modules/.bin/et les pages de manuel ne sont pas installées du tout.
Vous pouvez obtenir {prefix}avec npm config get prefix. (Utile lorsque vous avez installé le nœud avec nvm).
Les packages sont déposés dans le dossier node_modules sous le préfixe. Lors d'une installation locale, cela signifie que vous pouvez exiger ("nom_package") pour charger son module principal, ou exiger ("nom_package / lib / path / to / sub / module") pour charger d'autres modules.
Les installations globales sur les systèmes Unix vont dans {prefix} / lib / node_modules. Les installations globales sur Windows vont dans {prefix} / node_modules (c'est-à-dire, aucun dossier lib.)
Les packages étendus sont installés de la même manière, sauf qu'ils sont regroupés dans un sous-dossier du dossier node_modules correspondant avec le nom de ce préfixe de portée par le symbole @, par exemple npm install @ myorg / package placerait le package dans {prefix} / node_modules / @ myorg / package. Voir la portée pour plus de détails.
Si vous souhaitez exiger () un package, installez-le localement.
Vous pouvez obtenir {prefix}avec npm config get prefix. (Utile lorsque vous avez installé le nœud avec nvm).
Comme le disent les autres réponses, la meilleure façon est de faire
npm list -g
Cependant, si vous avez un grand nombre de npmpackages installés, la sortie de cette commande peut être très longue et difficile à faire défiler vers le haut (il n'est parfois même pas possible de faire défiler aussi loin en arrière).
Dans ce cas, dirigez la sortie vers le moreprogramme, comme ceci
Windows 10 : lorsque j'ai courunpm prefix -g, j'ai remarqué que l'emplacement d'installation se trouvait à l'intérieur du chemin du shell git que j'avais l'habitude d'installer. Même lorsque cet emplacement a été ajouté au chemin d'accès, la commande du package installé globalement n'est pas reconnue. Fixé par:
fonctionnement npm config edit
changer le préfixe en 'C: \ Users \ username \ AppData \ Roaming \ npm'
ajouter ce chemin à la variable de chemin d'accès système
Si vous essayez d'accéder à votre répertoire global à partir du code, vous pouvez revenir en arrière à partir de process.execPath. Par exemple, pour rechercher wsproxyce qui se trouve dans {NODE_GLOBAL_DIR}/bin/wsproxy, vous pouvez simplement:
Comment cela devrait-il fonctionner? Par exemple, le binaire Node est à /usr/bin/node, mais évidemment (puisque c'est le bac) les modules ne sont pas là; ils en sont au contraire /usr/lib/node_modules.
Florian Rappl
Mis à jour en référence à la npmmise en œuvre
AT
Maintenant, c'est une autre histoire; vous apportez la plate-forme (bonne) et les variables env respectives (en dépit de ne pas mentionner quelles fonctions importantes telles que moduleName font, mais je suppose que le lecteur moyen pourra en déduire). Merci pour la modification / correction!
Florian Rappl
1
Si vous avez installé Visual Studio, vous constaterez qu'il est livré avec sa propre copie du nœud distinct de celui qui se trouve sur le chemin lorsque vous avez installé le nœud vous-même - Le mien est dans C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Community \ MSBuild \ Microsoft \ VisualStudio \ NodeJs.
Si vous exécutez la commande npm à partir de ce répertoire, vous découvrirez quels modules de nœuds sont installés dans Visual Studio.
Windows 7, 8 et 10 -% USERPROFILE% \ AppData \ Roaming \ npm \ node_modules.
Remarque: Si vous êtes quelque part dans le type de dossier cd ..jusqu'à ce que vous soyez dans le C:répertoire. Tapez ensuite cd %USERPROFILE%\AppData\Roaming\npm\node_modules. Et, par magie, %USERPROFILE%se transformera en Users\YourUserProfile\. Je voulais juste clarifier les idées évoquées par la Deckopremière réponse. npm list -grépertorie tous les bits que vous avez installés globalement. Si vous avez besoin de trouver votre projet lié npm packagepuis cd 'your angular project xyz', puis exécutez npm list. Il affichera la liste des modules dans npm package. Il vous donnera également la liste des éléments dependenciesmanquants et vous devrez peut-être exécuter efficacement ce projet.
$HOME/.npm-global/lib/node_modules
-g
option installera un module dans votre répertoire de travail, par exemple si vous faites un répertoire dire~/Desktop/tmp
alorscd ~/Desktop/tmp
puis faitesnpm install appium
alorsls
vous verreznode_modules package-lock.json
parce que vous avez installé un module de noeudappium
sur votreworking directory
... super déroutant car-g
devrait être essentiellement ledefault
mais ne l'est pas.Réponses:
Bibliothèques mondiales
Vous pouvez exécuter
npm list -g
pour voir quelles bibliothèques globales sont installées et où elles se trouvent. À utilisernpm list -g | head -1
pour une sortie tronquée affichant uniquement le chemin. Si vous souhaitez afficher uniquement les packages principaux et non ses sous-packages qui s'installent avec lui - vous pouvez utiliser -npm list --depth=0
qui afficheront tous les packages et pour obtenir uniquement les packages installés globalement, ajoutez simplement -g ienpm list -g --depth=0
.Sur les systèmes Unix, ils sont normalement placés
/usr/local/lib/node
ou/usr/local/lib/node_modules
installés globalement. Si vous définissez laNODE_PATH
variable d'environnement sur ce chemin, les modules peuvent être trouvés par nœud.Windows XP -
%USERPROFILE%\AppData\npm\node_modules
Windows 7, 8 et 10 -
%USERPROFILE%\AppData\Roaming\npm\node_modules
Bibliothèques non globales
Les bibliothèques non globales sont installées dans le
node_modules
sous-dossier du dossier dans lequel vous vous trouvez actuellement.Vous pouvez exécuter
npm list
pour voir les bibliothèques non globales installées pour votre emplacement actuel.Lors de l'installation, utilisez l'option -g pour installer globalement
npm install -g pm2
- pm2 sera installé dans le monde. Il sera ensuite généralement trouvé dans/usr/local/lib/node_modules
(Utiliseznpm root -g
pour vérifier où.)npm install pm2
- pm2 sera installé localement. Il sera ensuite généralement trouvé dans le répertoire local de/node_modules
la source
npm list -g
comme suggéré dans une autre réponse.%USERPROFILE%\AppData\Roaming\npm\node_modules
La commande
npm root
vous indiquera le répertoire d'installation effectif de vos packages npm.Si votre répertoire de travail actuel est un package de nœuds ou un sous-répertoire d'un package de nœuds,
npm root
vous indiquera le répertoire d'installation local.npm root -g
affichera la racine d'installation globale quel que soit le répertoire de travail actuel.Exemple:
Consultez la documentation.
la source
node_modules
dossier global est dans/usr/local/lib/node_modules
. Quand je fais c'est-à-diresudo npm uninstall browserify -g
(en supposant que je l'avais faitsudo npm install browserify -g
avant), il le supprime de là./usr/local/lib/node_modules
Pour les modules installés à l'échelle mondiale:
Les autres réponses vous donnent des réponses spécifiques à la plate-forme, mais une réponse générique est la suivante:
Lorsque vous installez le module global avec
npm install -g something
, npm recherche une variable de configurationprefix
pour savoir où installer le module.Vous pouvez obtenir cette valeur en exécutant
npm config get prefix
Pour afficher tous les modules globaux disponibles dans ce dossier, utilisez
npm ls -g --depth 0
(depth 0
pour ne pas afficher leurs dépendances).Si vous souhaitez modifier le chemin global des modules, utilisez
npm config edit
et placezprefix = /my/npm/global/modules/prefix
le fichier ou utiliseznpm config set prefix /my/npm/global/modules/prefix
.Lorsque vous utilisez certains outils comme nodist , ils modifient le chemin d'installation par défaut de la plate-forme des modules npm globaux.
la source
Sur les fenêtres, je
npm list -g
le découvrais. Par défaut, mes packages (globaux) étaient installés surC:\Users\[Username]\AppData\Roaming\npm
.la source
Si vous recherchez l'exécutable installé par npm, peut-être parce que vous souhaitez le mettre dans votre PATH, vous pouvez simplement le faire
ou
la source
command not found
erreurs. Si oui, ajoutez ce qui précède à votre CHEMIN:export PATH=$PATH:$(npm bin -g)
voilaDans les versions antérieures des modules NPM étaient toujours placés dans / usr / local / lib / node ou partout où vous avez spécifié la racine npm dans le fichier .npmrc. Cependant, dans NPM 1.0+, les modules sont installés à deux endroits. Vous pouvez avoir des modules installés localement sur votre application dans /.node_modules ou vous pouvez les faire installer globalement qui utilisera ce qui précède.
Plus d'informations peuvent être trouvées à https://github.com/isaacs/npm/blob/master/doc/install.md
la source
Pas de réponse directe mais peut aider ...
Le npm possède également un dossier de cache, qui peut être trouvé en exécutant
npm config get cache
(%AppData%/npm-cache
sous Windows).Les modules npm sont d'abord téléchargés ici, puis copiés dans le dossier global npm (
%AppData%/Roaming/npm
sous Windows) ou dans un dossier spécifique au projet (your-project/node_modules
).Donc, si vous voulez suivre les packages npm, et comment, la liste de tous les packages npm téléchargés (si le cache npm n'est pas nettoyé) consultez ce dossier. La structure des dossiers est la suivante:
{cache}/{name}/{version}
Cela peut également aider https://docs.npmjs.com/cli/cache
la source
Si le module a été installé avec l'
-g
indicateur global ( ), vous pouvez obtenir l'emplacement parent en exécutant la commande suivanteou
qui imprimera l'emplacement avec la liste des modules installés
À votre santé :-)
la source
Le plus simple serait de faire
pour répertorier le package et afficher son emplacement d'installation.
J'avais installé npm via chololatey, donc l'emplacement est
C: \ MyProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.31 \ tools \ node_modules
C: \ MyProgramData \ est un emplacement de dépôt chocolaté.
la source
Pour obtenir une liste compacte sans dépendances, utilisez simplement
la source
Vous pouvez trouver des modules installés globalement par la commande
Il vous fournira l'emplacement où les modules node.js ont été installés.
Si vous installez les modules node.js localement dans un dossier, vous pouvez taper la commande suivante pour voir l'emplacement.
la source
De la documentation :
Vous pouvez obtenir
{prefix}
avecnpm config get prefix
. (Utile lorsque vous avez installé le nœud avec nvm).la source
De la documentation :
Vous pouvez obtenir
{prefix}
avecnpm config get prefix
. (Utile lorsque vous avez installé le nœud avec nvm).Lisez sur localement .
Lisez sur globalement .
la source
Dans Ubuntu 14.04, ils sont installés à
/usr/lib/node_modules
la source
Je commençais à devenir fou en cherchant la vraie configuration, alors voici la liste complète des fichiers de configuration sur Linux:
sous Windows: - c / Program \ Files / nodejs / node_modules / npm / npmrc
Puis dans le fichier le préfixe est configuré:
Le préfixe est par défaut / usr sous linux, à $ {APPDATA} \ npm dans windows
Les modules de nœuds sont sous $ prefix tree, et le chemin doit contenir $ prefix / bin
Il peut y avoir un problème:
/root/.npmrc
peut être utilisé!/home/youruser/.npmrc
.npm set -g prefix /usr
il définit le / etc / npmrc global, mais ne remplace pas le localVoici toutes les informations qui manquaient pour trouver ce qui est configuré où. J'espère avoir été exhaustif.
la source
Comme le disent les autres réponses, la meilleure façon est de faire
Cependant, si vous avez un grand nombre de
npm
packages installés, la sortie de cette commande peut être très longue et difficile à faire défiler vers le haut (il n'est parfois même pas possible de faire défiler aussi loin en arrière).Dans ce cas, dirigez la sortie vers le
more
programme, comme cecila source
Windows 10 : lorsque j'ai couru
npm prefix -g
, j'ai remarqué que l'emplacement d'installation se trouvait à l'intérieur du chemin du shell git que j'avais l'habitude d'installer. Même lorsque cet emplacement a été ajouté au chemin d'accès, la commande du package installé globalement n'est pas reconnue. Fixé par:npm config edit
la source
Développer d'autres réponses -
npm list -g
vous montrera l'emplacement des packages installés globalement.
Si vous souhaitez exporter cette liste dans un fichier que vous pouvez ensuite rechercher facilement dans votre éditeur de texte:
npm list -g > ~/Desktop/npmfiles.txt
la source
Btw, npm recherchera node_modules dans les dossiers parents (jusqu'à très root) s'il ne peut pas trouver en local.
la source
Si vous essayez d'accéder à votre répertoire global à partir du code, vous pouvez revenir en arrière à partir de
process.execPath
. Par exemple, pour rechercherwsproxy
ce qui se trouve dans{NODE_GLOBAL_DIR}/bin/wsproxy
, vous pouvez simplement:Il y a aussi comment fonctionne le
npm
cli @ec9fcc1
/lib/npm.js#L254 avec:Voir aussi
ec9fcc1
/lib/install.js#L521 :Où
globalPrefix
a un ensemble par défaut dansec9fcc1
/lib/config/defaults.js#L92-L105 de:la source
/usr/bin/node
, mais évidemment (puisque c'est le bac) les modules ne sont pas là; ils en sont au contraire/usr/lib/node_modules
.npm
mise en œuvreSi vous avez installé Visual Studio, vous constaterez qu'il est livré avec sa propre copie du nœud distinct de celui qui se trouve sur le chemin lorsque vous avez installé le nœud vous-même - Le mien est dans C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Community \ MSBuild \ Microsoft \ VisualStudio \ NodeJs.
Si vous exécutez la commande npm à partir de ce répertoire, vous découvrirez quels modules de nœuds sont installés dans Visual Studio.
la source
Windows 7, 8 et 10 -% USERPROFILE% \ AppData \ Roaming \ npm \ node_modules.
Remarque: Si vous êtes quelque part dans le type de dossier
cd ..
jusqu'à ce que vous soyez dans leC:
répertoire. Tapez ensuitecd %USERPROFILE%\AppData\Roaming\npm\node_modules
. Et, par magie,%USERPROFILE%
se transformera enUsers\YourUserProfile\
. Je voulais juste clarifier les idées évoquées par laDecko
première réponse.npm list -g
répertorie tous les bits que vous avez installés globalement. Si vous avez besoin de trouver votre projet liénpm package
puiscd 'your angular project xyz'
, puis exécuteznpm list
. Il affichera la liste des modules dansnpm package
. Il vous donnera également la liste des élémentsdependencies
manquants et vous devrez peut-être exécuter efficacement ce projet.la source