Je ne trouve pas du tout où npm a ses paramètres globaux stockés.
npm config get userconfig
C:\Users\Jack\.npmrc
config npm obtenir globalconfig
C:\Users\Jack\AppData\Roaming\npm\etc\npmrc
Il n'y a aucun fichier sur l'un de ces chemins et pourtant
npm config get proxy -> renvoie mon URL de proxy pour le travail. que je veux supprimer.
npm config -g supprimer le proxy
npm ERR! Error: ENOENT, unlink 'C:\Users\Jack\AppData\Roaming\npm\etc\npmrc'
npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "config" "-g" "delete" "proxy"
npm ERR! cwd C:\f\Dropbox\apps
npm ERR! node -v v0.8.22
npm ERR! npm -v 1.2.14
npm ERR! path C:\Users\Jack\AppData\Roaming\npm\etc\npmrc
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\f\Dropbox\apps\npm-debug.log
npm ERR! not ok code 0
Il semble que les fichiers que npm
utilise pour modifier ses fichiers de configuration ne soient pas créés lors d'une nouvelle installation, car npm
a une option par défaut pour chacun. C'est pourquoi vous pouvez toujours obtenir des options avec npm config get <option>
: avoir ces fichiers ne remplace que les valeurs par défaut, il ne crée pas les options à partir de zéro.
Je n'avais jamais touché mon npm config
des trucs avant aujourd'hui, même si je l'avais depuis des mois maintenant. Aucun fichier n'était encore là, comme ~/.npmrc
(sur une machine Windows 8.1 avec Git Bash
), mais je pouvais exécuter npm config get <something>
et, si c'était une option npm
correcte, elle renvoyait une valeur. Quand j'ai couru npm config set <option> <value>
, le fichier ~/.npmrc
semblait être créé automatiquement, avec l'option et sa valeur comme seule ligne non commentée.
Quant à la suppression des options, il semble que cela redonne juste la valeur à la valeur par défaut, ou ne fait rien si cette option n'a jamais été définie ou n'a pas été définie et n'a jamais été réinitialisée. De plus, si cette option est la seule option explicitement définie, elle ressemble à ~/.npmrc
est également supprimé et recréé si vous set
autre chose plus tard.
Dans votre cas (en supposant qu'il soit toujours le même un an plus tard), il semble que vous n'ayez jamais défini l'option proxy
dans npm
. Par conséquent, comme le dit la page d'aide de npm
config
, elle est définie sur ce que votre http_proxy
(variable insensible à la casse) est. Cela signifie qu'il n'y a rien à delete
, à moins que vous ne vouliez "supprimer" votre proxy HTTP, bien que vous puissiez set
l'option ou la variable d'environnement à autre chose et espérer qu'aucune ne casse votre configuration d'une manière ou d'une autre .
Il y a un problème avec la mise à niveau de npm sous Windows. L'installation initiale effectuée dans le cadre de l'installation de nodejs à l'aide d'un package msi créera un fichier npmrc:
C:\Program Files\nodejs\node_modules\npm\npmmrc
lorsque vous mettez à jour npm en utilisant:
npm install -g npm@latest
il installera la nouvelle version dans:
C:\Users\Jack\AppData\Roaming\npm
en supposant que votre nom est Jack, qui est% APPDATA%\npm.
La nouvelle installation n'inclut pas de fichier npmrc et sans lui, le répertoire racine global sera basé sur l'endroit où le noeud a été exécuté, c'est donc C:\Program Files\nodejs\node_modules
Vous pouvez le vérifier en exécutant:
npm root -g
Cela ne fonctionnera pas car npm n'a pas la permission d'écrire dans le "Program Files"
répertoire. Vous devez copier le fichier npmrc de l'installation d'origine dans la nouvelle installation. Par défaut, le fichier n'a que la ligne ci-dessous:
prefix=${APPDATA}\npm
Ceci est couvert ici: https://github.com/npm/npm/wiki/Troubleshooting
Pour moi (sous Windows 10), le fichier npmrc était situé dans:
%USERPROFILE%\.npmrc
Testé avec:
Avez-vous essayé d'exécuter npm config list
? Et, si vous voulez voir les valeurs par défaut, exécutez npm config ls -l
.
Commencer avec npm root
- il vous montrera le dossier racine des packages NPM pour l'utilisateur actuel. Ajouter -g
et vous obtenez un dossier global. N'oubliez pas de soustraire node_modules
.
Utilisation npm config
/npm config -g
et vérifiez que cela vous créera un nouveau .npmrc
/npmrc
pour vous.
Testé sur Windows 10 Pro, NPM v.6.4.1:
C:\Users\%username%\AppData\Roaming\npm\etc\npmrc
C:\Users\%username%\.npmrc
C:\Program Files\nodejs\node_modules\npm\npmrc
Les références:
N'est-ce pas le chemin que vous recherchez?
C:\Program Files\nodejs\node_modules\npm\npmmrc
Je sais que npm produit cela, mais le dossier global est le dossier où node.js est installé et tous les modules le sont.