2013-03-20 16 views
20

Nie mogę znaleźć w ogóle, gdzie npm ma zapisane ustawienia globalne.nodejs npm brak globalnej konfiguracji na windows

npm config dostać userconfig

C:\Users\Jack\.npmrc 

npm config get globalconfig

C:\Users\Jack\AppData\Roaming\npm\etc\npmrc 

Nie ma plików w jednej z tych ścieżek i jeszcze

npm config dostać proxy -> zwraca moją proxy adres URL do pracy. które chcę usunąć.

npm config -g usuwać 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 
+0

https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows – Lonely

Odpowiedz

14

Wygląda plików npm używa edytować jego pliki konfiguracyjne nie są tworzone na czystej instalacji, jak npm posiada opcję domyślną dla każdego z nich. Dlatego nadal można uzyskać opcje z npm config get <option>: mając na uwadze, że te pliki zastępują tylko wartości domyślne, nie tworzą one opcji od zera.

nigdy nie dotknął mojego npm config rzeczy przed dzisiaj, choć miałem go od miesięcy. Żaden z plików nie były tam jeszcze, takich jak ~/.npmrc (8.1 na komputerze z systemem Windows z Git Bash), ale mogę uruchomić npm config get <something> i, jeśli to była prawidłowa npm opcja, to zwracane wartości. Po uruchomieniu npm config set <option> <value> plik ~/.npmrc wydawał się być tworzony automatycznie, z opcją & jego wartość jako jedynej linii bez komentarza.

Jeśli chodzi o usuwanie opcji, wygląda na to, że po prostu ustawia wartość z powrotem na wartość domyślną lub nic nie robi, jeśli ta opcja nigdy nie była ustawiona lub została wyzerowana. & nigdy się nie resetuje. Dodatkowo, jeśli ta opcja jest jedyną jawnie ustawioną opcją, wygląda na to, że ~/.npmrc również została usunięta i odtworzona, jeśli po jakimś czasie jest set.

W twoim przypadku (zakładając, że nadal jest taki sam ponad rok później), wygląda na to, że nigdy nie ustawiłeś opcji proxy w npm. Dlatego, jak podaje strona pomocy npmconfig, jest ustawiona na dowolną zmienną środowiskową http_proxy (bez względu na wielkość). Oznacza to, że nie ma nic do delete, chyba że chcesz "usunąć" swój serwer proxy HTTP, chociaż możesz set opcję lub zmienną środowiskową do czegoś innego i mam nadzieję, że ani razu nie zepsuje twojego ustawienia.

+0

Nigdy tak naprawdę nie wymyśliłem tego t, To muszą być wspomniane zmienne Env, ale przysięgam, że je rozwiałem. – Jack

+0

W czasie używałem skryptu, który ustawiony '[środowiska] :: SetEnvironmentVariable ("http_proxy", $ proxy, "user")' rozbrajania ' "http_proxy", $ NULL, "Użytkownik"' New konsoli zablokowana zmienna proxy. Doszedłem do wniosku, że okna nie zmieniają nastawień użytkownika. jeśli chcesz go ustawić. Ustaw i zachowaj. Jeśli jest włączone/wyłączone, jak ustawienie mojego serwera proxy zależne od identyfikatora SSID, którego używam, użyj zamiast tego zmiennej proces env i wpisz check w profilu konsoli. Trzymanie się '$ Env: http_prxy' w pliku $ profile.currentUserAllHosts jest tym, co zrobiłem. – Jack

+0

to 'unset ', a nie 'rozbrojenie'. Nie jestem pewien co do reszty. – trysis

1

nie jest to ścieżka szukasz?

C:\Program Files\nodejs\node_modules\npm\npmmrc

wiem, że wyjścia NPM, ale folder globalny to folder gdzie node.js jest zainstalowany i wszystkie moduły są.

20

Jest problem z aktualizacją KMP pod Windows.Inital instalacja odbywa się w ramach nodejs zainstalować przy użyciu pakietu MSI będzie utworzyć plik npmrc:

C:\Program Files\nodejs\node_modules\npm\npmmrc

podczas aktualizacji NPM przy użyciu:

npm install -g [email protected]

będzie zainstalować nową wersję w:

C:\Users\Jack\AppData\Roaming\npm

zakładając, że nazwa to Jack, czyli% APPDATA% \ npm.

Nowa instalacja nie obejmuje npmrc plik i bez niego globalny katalog główny zostanie w oparciu o którym węzeł został uruchomiony z, więc jest C:\Program Files\nodejs\node_modules

Można to sprawdzić przez wykonanie:

npm root -g

To nie zadziała, ponieważ npm nie ma uprawnień do zapisu w katalogu "Program Files". Musisz skopiować plik npmrc z oryginalnej instalacji do nowej instalacji. Domyślnie plik ma tylko wiersz poniżej:

prefix=${APPDATA}\npm

To jest pokryta tutaj: https://github.com/npm/npm/wiki/Troubleshooting

+0

ten link https://github.com/npm/npm/wiki/Troubleshooting było jak czar! – SharpCoder

4

Czy próbowałeś działa npm config list? A jeśli chcesz zobaczyć wartości domyślne, uruchom npm config ls -l.

+1

komentarze nie powinny być publikowane jako odpowiedzi. –

8

Dla mnie (będąc w systemie Windows 10) npmrc file znajdował się w:

%USERPROFILE%\.npmrc 

Testowane z:

  • npm v4.2.0
  • node.js v7.8.0
+1

To samo z 'npm v5.4.2' – Sam

Powiązane problemy