Npm Spróbuj ponownie użyć tego polecenia jako root / administrator


102

Desperacko próbowałem zainstalować moduły za pomocą node.js, ale zawsze nie udaje mi się pobrać pakietów z npm.

Zalogowałem się jako administrator i użyłem powershell / cmd z opcją „Uruchom jako administrator”. Miałem też problemy z rejestrem, więc użyłem npm set register http://registry.npmjs.org/

Próbowałem wszystkiego ... to po prostu doprowadza mnie do szału.

Oto błędy:

npm ERR! Spróbuj ponownie uruchomić to polecenie jako root / Administrator.

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" "install" "generator-knockout"
npm ERR! cwd D:\Sergiu\Knockout Test
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! path D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js
npm ERR! fstream_path D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code EPERM
npm ERR! errno 50
npm ERR! stack Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js'
npm ERR! fstream_stack C:\Program Files\nodejs\node_modules\npm\node_modules\fstream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\fstream\LICENSE'
npm ERR!  { [Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\fstream\LICENSE']
npm ERR!   errno: 50,
npm ERR!   code: 'EPERM',
npm ERR!   path: 'D:\\Sergiu\\Knockout Test\\node_modules\\generator-knockout\\node_modules\\yeoman-generator\\node_modules\\tar\\node_modules\\fstream\\LICENSE',
npm ERR!   fstream_type: 'File',
npm ERR!   fstream_path: 'D:\\Sergiu\\Knockout Test\\node_modules\\generator-knockout\\node_modules\\yeoman-generator\\node_modules\\tar\\node_modules\\fstream\\LICENSE',
npm ERR!   fstream_class: 'FileWriter',
npm ERR!   fstream_stack:
npm ERR!    [ 'C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\fstream\\lib\\writer.js:284:26',
npm ERR!      'Object.oncomplete (fs.js:107:15)' ] }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

3
Mój folder node_modules został ustawiony jako tylko do odczytu! Kliknij prawym przyciskiem myszy właściwości i napraw to. :}
Vael Victus

Odpowiedzi:


105

Okazuje się, że nie musisz ponownie uruchamiać polecenia jako Administrator, a zrobienie tego nie rozwiąże problemu.

Próbować:

  1. npm cache clean pierwszy.

  2. Jeśli to nie rozwiąże sprawy, spojrzeć w %APPDATA%\npm-cache, lub jeśli używasz PowerShell $env:APPDATA\npm-cache.

Po wyczyszczeniu pamięci podręcznej nadal mogą pozostać resztki. Ręcznie usuń wszystko w tym katalogu i spróbuj ponownie. To zawsze naprawiało rzeczy dla mnie.

Jak wspominał @Crazzymatt, od wersji npm @ 5 i nowszych musimy użyć npm cache verifyzamiast npm cache clean. W przeciwnym razie pojawi się błąd jak poprzednio.

npm ERR! Począwszy od npm @ 5, pamięć podręczna npm naprawia się samoczynnie z powodu problemów z uszkodzeniem, a dane wyodrębnione z pamięci podręcznej są prawidłowe. Jeśli chcesz się upewnić, że wszystko jest spójne, użyj zamiast tego opcji „npm cache verify”.

(Źródło: post na blogu MSDN )


16
Od NPM5 możesz uruchomić "weryfikację pamięci podręcznej npm", która zadziałała dla mnie
crazymatt

8
Czasami npm cache cleandaje ostrzeżenie, więc możesz zmusić go do czyszczenia, robiąc tonpm cache clean --force
Avid

1
Po prostu uruchomienie polecenia (np. npm install --save xxx) Ponownie zadziałało dla mnie.
Pierwszy raz

spróbuj: weryfikacja pamięci podręcznej npm
MagGGG

W moim przypadku musiałem zrestartować komputer po wyczyszczeniu folderu% APPDATA% \ npm-cache. Windows 10.
rey_coder

48

Rozwiązuję to działając jako administrator cmd. Czyszczenie pamięci podręcznej npm cache clean -f A następnie spróbuj ponownie zainstalować pakiet


Zrobiłem to, ale to nie działa. Wykonałem polecenie również jako administrator.
Huy Ngo,

5
to działało dla mnie w systemie Windows 10 - uruchom jako administrator nie rozwiązał problemu
itstata

19

Powinieneś uruchomić cmd.exe jako administrator.

Wykonaj następujące kroki:

  • Kliknij Start, kliknij Wszystkie programy, a następnie kliknij Akcesoria.
  • Kliknij prawym przyciskiem myszy wiersz polecenia, a następnie kliknij opcję Uruchom jako administrator.

17

Oto jak to naprawiłem w moim Windows (7) Dev. środowisko. Zakładam, co następuje ...

  • Używasz Command Prompt , Git Bash , Cmder lub ulubionego Terminal jako administrator przez kliknięcie prawym przyciskiem myszy
  • Przyznano uprawnienia do odczytu / zapisu (tj. Chmod -777)

Dobra, przejdźmy do tego:

  1. Zaktualizuj wszystkie pakiety, w przypadku których sprawdzanie wersji zwraca ostrzeżenie („npm WARN” ..), na przykład ...

    npm aktualizacja -g npm

    npm update -g graceful-fs

  2. Następny chcemy zmusić do cache czyste . Jest to oznaczone przez „--f” lub „-f” .

    npm cache clean --f

  3. W Widows Explorer wyszukaj następującą ścieżkę

% APPDATA% \ npm-cache

I usuń jego zawartość

  1. Uruchom nową instancję terminala , pamiętając o kliknięciu prawym przyciskiem myszy i uruchomieniu jako administrator , a następnie ponownie zainstaluj pakiety.

Mam nadzieję, że to komuś pomoże!


Wypróbowałem wiele rozwiązań, które działały dla innych osób, ale cholera ... bez sukcesu w przypadku instalacji npm --save-dev webpack. Kilka tygodni temu działało dobrze i ponownie robię samouczek z tymi samymi poleceniami, ale bez uprawnień lub cokolwiek innego, co nie pozwoli mi zainstalować. Znalazłem to: github.com/npm/npm/issues/18380
JoshYates1980

npm install - brak opcjonalnego pakietu
webpack

To rozwiązanie powinno być bardziej zaawansowane dla użytkowników Windows 7. Pracował dla mnie.
Undrium

U mnie działało usuwanie zawartości npm-cache. Dzięki
Alvin



5

Jeśli używasz TFS lub jakiejkolwiek innej kontroli źródła dla swojego projektu, która ustawia zaewidencjonowane pliki w tryb tylko do odczytu, musisz upewnić się, że package.json jest wyewidencjonowany przed uruchomieniem npm install. Popełniłem ten błąd wiele razy.


4

Spróbuj wykonać następujące czynności

1. Uruchom to polecenie w terminalu lub CMD -npm cache clean

2. Przejdź do tego folderu w %APPDATA%\npm-cachesystemie Windows I usuń folder, w którym chcesz zainstalować moduł (np. - laravel-elixir) lub jeśli używasz PowerShell, $ env: APPDATA \ npm-cache

3. Następnie uruchom polecenie EX:- npm install laravel-elixir


Jeśli to nie zadziała, przejdź do %APPDATA%\npmi usuń oba ngpliki i wypróbuj.
dev,

4

Oto jak naprawiłem problem w systemie Windows. Próbowałem zainstalować CLI dla Angular.

  1. Wyłącz zabezpieczenia firewall i antywirusowe.

  2. Kliknij prawym przyciskiem myszy folder nodejs (w obszarze Pliki programów), wybierz Właściwości (przewiń do końca w dół), kliknij kartę Zabezpieczenia i kliknij wszystkie elementy w kolumnie ZEZWÓL (dla wszystkich pakietów systemowych i dowolnego użytkownika lub grupy, która umożliwia dodanie Znacznik „zezwalaj”).

  3. Kliknij ikonę Windows. Wpisz cmd. Kliknij prawym przyciskiem myszy górny wynik i wybierz Uruchom jako administrator. Zostanie wyświetlone okno poleceń.

  4. Wpisz npm cache clean. Jeśli wystąpi błąd, zamknij pliki dziennika lub cokolwiek otwartego i uruchom ponownie.

  5. Wpisz npm install -g @ angular / cli (lub jakiekolwiek inne polecenie instalacji npm, którego używasz)

  6. Sprawdź instalację, wpisując ng –version (lub cokolwiek potrzebujesz, aby zweryfikować instalację)

Powodzenia! Uwaga: jeśli nadal masz problemy, sprawdź ścieżkę w zmiennych środowiskowych. (Aby uzyskać dostęp do: Panel sterowania → System i zabezpieczenia → System → Zaawansowane ustawienia systemu → Zmienne środowiskowe). Moja zmienna ścieżki zawierała następujące elementy: C: \ Users \ Michele \ AppData \ Roaming \ npm


Dzięki @tigerRose. Świetne instrukcje. Wydawało się, że pomogło mi to w osiągnięciu postępu.
Sandi Laufenberg-Deku

1
Wreszcie „Wyłącz zaporę ogniową i zabezpieczenia antywirusowe” ponownie włączone
JoshYates1980,

3

Miałem ten sam problem, co zrobiłem, aby go rozwiązać, uruchomiłem cmd.exe jako administrator, mimo że moje konto było już ustawione jako administrator.



2

Taki przepływ często ma miejsce w tym przypadku. Uruchomisz polecenie bez uprawnień administratora, otrzymasz wiadomość npm ERR! Please try running this command again as root/Administrator.. Następnie otwierasz jeszcze jeden CLI (cmd, powershell, bash lub cokolwiek) i nie zamykasz poprzedniego CLI. Wygląda na to, że masz otwarte 2 podpowiedzi w tym samym katalogu. A dopóki nie zamkniesz CLI, który działa bez praw administratora, będziesz stale otrzymywać npm ERR! Please try running this command again as root/Administrator. So close CLI, który działa bez uprawnień administratora przed uruchomieniem nowego.

UWAGA : wiele IDE ma wbudowany interfejs CLI (Visual Studio, VS Code itp.), Więc zamknij również wystąpienie IDE


2

Miałem ten sam problem i naprawiłem błąd, czyszcząc pamięć podręczną:

npm cache clean -f

1

Jeśli robisz to na komputerze Mac, wpisz: sudo chown -R $ USER / usr / local, co da ci dostęp administracyjny do twoich plików


4
Okropny sposób. Dzięki temu uzyskasz poziom uprawnień układu hamulcowego.
stborod

1

W systemie Windows 10 pomogło mi po prostu zaznaczenie opcji „Tylko do odczytu” projektu node_modules.


Czułem się pobieżnie, ale to zadziałało, npm cache cleanale nie rozwiązało problemu.
Cato Minor

1

Zrobiłem ten problem 2 razy i wypróbowałem tutaj wszystkie sugestie z miernym sukcesem.

  • Pierwszy raz spróbowałem (i na szczęście udało mi się) przez:

    1. usuń folder node_modules w swoim projekcie

    2. npm clean cache -f

    3. sprawdź swoje %APPDATA%/npm-cachei usuń wszystko, jeśli nie jest puste

    4. uruchom terminal jako administrator (moim zdaniem nie jest to problem z prawami, ale nie zaszkodzi jeśli to zrobisz)

    5. npm install i wtedy npm update

    6. pojawią się błędy, po prostu zainstaluj każdy moduł, który zgłasza błąd ręcznie i krok po kroku spróbuj wyeliminować wszystko, co jest nie tak

Jednak ta metoda jest dość frustrująca i nie działa za każdym razem. Więc spróbuj tego:

  • Za drugim razem nie udało mi się wykonać powyższych kroków, więc próbowałem całkowicie przeinstalować npm i nie udało mi się. Pomyślałem więc, że coś musi być nie tak z moją instalacją node.js. Mój zespół działa 6.10. i miałem 6.11. i wypróbowałem to z 6.10. bez szczęścia.

    1. Więc całkowicie wyczyściłem wszystko z mojego systemu. Usunąłem wszystkie moduły węzłów, sprawdziłem każdą ścieżkę, w której może znajdować się node lub npm i wyczyściłem mój system.

    2. Następnie zainstalowałem najnowszą wersję 8.1.3

    3. Usunąłem mój projekt i sklonowałem go do zupełnie innego katalogu.

    4. Teraz zainstalowałem i zaktualizowałem wszystko z npm install npm update

    5. Następnie skompilowałem z brakującymi tylko 2 modułami i zainstalowałem je ręcznie

Tadaaaaa, teraz działa. W sumie był to problem z node.js. Polecam wszystkim, którzy napotkają ten problem: wypróbuj różne wersje węzłów! I czyste ABSOLUTNE wszystko.


1

W ostateczności z tym błędem stworzyłem nową maszynę wirtualną z systemem Windows 10 i zainstalowałem najnowszy nodejs (v6). Ale było mnóstwo innych błędów "ERR!" do pracy.

Musiałem uruchomić, npm cache clean --forceco jak na ironię da ci wiadomość, która brzmi: „Mam nadzieję, że wiesz, co robisz”. Wygląda na to, że zadziałało.

Nie rozwiązuje problemu na mojej głównej maszynie deweloperskiej. Puszkuję nodejs, ponieważ w ciągu ostatnich kilku lat odkryłem, że więcej czasu spędzasz na naprawianiu niż na faktycznym rozwoju. Miałem mniej problemów z węzłem w systemie Linux Ubuntu 14.04, jeśli to jakakolwiek pomoc.


1

Usunięcie globalnej pamięci podręcznej npm i / lub uruchomienie mojej linii cmd jako administrator nie działa dla mnie. Ponadto, począwszy od wersji 5.xx npm, prawdopodobnie sam odzyskuje dane po uszkodzeniu pamięci podręcznej.

To zadziałało:

1. Usunąłem folder node_modules w moim bieżącym projekcie.

2. Usunąłem plik package-lock.json z mojego bieżącego projektu

3. Zainstalowałem nowy pakiet. W moim przypadku:npm install bootstrap@next --save

4. Pobiegłem npm installdo mojego obecnego projektu.

Teraz wszystko działa. Ogólnie rzecz biorąc, nuking node_modules i package-lock.json zwykle naprawia te błędy „bez wyraźnego powodu”.

EDYTOWAĆ

Po prostu znowu miałem ten sam problem. Ale zauważyłem, że wszystko zostało poprawnie zainstalowane, mimo że wyrzuciło błąd po wykonaniu opisanych powyżej kroków. Mogłem więc po prostu uruchomić ng serve(dla Angulara) i wszystko działało.

To z pewnością dziwny błąd ...


1

Jako hack,

Sprawdź, czy ścieżka folderu, którego dotyczy skarga, istnieje, czy nie. Jeśli nie, spróbuj utworzyć je ręcznie i ponownie uruchom instalację po wyczyszczeniu pamięci podręcznej

Udało mi się to, gdy uruchomiłem instalację z wiersza poleceń, ponieważ administrator nie działał


1

$ npm cache clean
npm ERR! Począwszy od npm @ 5, pamięć podręczna npm naprawia się samoczynnie z powodu problemów z uszkodzeniem, a dane wyodrębnione z pamięci podręcznej są prawidłowe. Jeśli chcesz się upewnić, że wszystko jest spójne, użyj zamiast tego opcji „npm cache verify”.

Próbowałem biegać npm cache verifyz uprawnieniami administratora i potem zadziałało.


1

To zadziałało dla mnie, jeśli twój package.jsonnie jest za duży, możesz to zrobić:

  • Wyloguj się, a następnie zaloguj.
  • Usuń node_modules.
  • npm install jeszcze raz.

0

Podobnie jak w przypadku innych odpowiedzi, wyczyść pamięć podręczną npm i upewnij się, że folder pamięci podręcznej jest pusty, a następnie kilkakrotnie uruchom npm install. Za każdym razem, gdy pojawia się komunikat o błędzie dla różnych pakietów, a za ostatnim razem (po X próbach) kończy się sukcesem.

  1. Biegać npm clean cache --force
  2. cd %APPDATA%\npm-cache(lub cd $env:APPDATA\npm-cachedla PowerShell)
  3. del * aby usunąć wszystko w folderze
  4. Wróć do folderu projektu i uruchom npm installkilka razy, aż się powiedzie. Zauważ, że za każdym razem komunikaty o błędach pojawiają się dla różnych pakietów.

0

CO NA MNIE DZIAŁAŁO

Uruchomiłem wiersz polecenia jako administrator. Pomogło to częściowo - ponieważ nie otrzymałem już błędu „Spróbuj ponownie użyć tego polecenia jako root / administrator”. Próbowałem zainstalować Cordova. Aby zrobić to pomyślnie, musiałem również wykonać następujące czynności:

(1) „węzeł aktualizacji npm” oraz ...

(2) Dodałem również "-g" w pliku >> npm install cordova <<. Innymi słowy, wpisz: >> npm install -g cordova <<

~~~ DLA WINDOWS 8.1 ~~~

KOMUNIKAT „URUCHOM JAKO ADMINISTRATOR”

W systemie Windows 8.1 nie mam grupy AKCESORIA po kliknięciu przycisku START> WSZYSTKIE PROGRAMY. Ale mam starszy - ale sprawdzony i niezawodny - PRZYCISK START i MENU START - dzięki bezpłatnej aplikacji Classic Start Menu. Więc z tym zainstalowanym ....

ALTERNATYWA # 1:

1. Type "cmd" in the SEARCH BOX at the bottom of the START menu.  
2. When cmd.exe shows up in the top of the search results, right click it and select RUN AS ADMINISTRATOR.

ALTERNATYWA # 2 Jeśli masz już otwarte i uruchomione okno wiersza polecenia - i chcesz otworzyć kolejne, aby uruchomić jako administrator:

1. Locate the Command Prompt app icon in the Taskbar (usually along the bottom of you screen unless you have moved it a different dock/location).
2. Right click the app icon.
3. Now, right click "COMMAND PROMPT" and select RUN AS ADMINISTRATOR. 

Mam nadzieję, że to komuś pomoże.


0

Nie wiem, które kroki mi pomogły. Ale oto moje kroki, aby pozbyć się tego błędu:

  1. Zaktualizowany Node.js
  2. Ran npm cache czyste polecenie w wierszu polecenia (z pewnymi elementami wątpienia na obecność cache)
  3. Uruchomiłem react-native init w wierszu poleceń jako Administrator (w systemie Windows), mając nadzieję, że działa dobrze z sudo React-native init w systemie Mac OS

Wypróbowałem twoją radę, ale kiedy dotarłem do kroku 3 - >> uruchamianie reaktywnego-natywnego init w wierszu poleceń << - najwyraźniej nie mam zainstalowanego tego programu -. Dalej - przeszukałem swój system za pomocą menu Start Szukaj - nic się nie pojawia. Następnie wyszukałem go w Google, a GOOGLE sugeruje „zareaguj…” (nie „reaktywuj…”). Czy ktoś może wyjaśnić, jak zainstalować lub używać REACTIVE-NATIVE - lub-REACT-NATIVE ??? Z góry dziękuję
Sandi Laufenberg-Deku

Przepraszamy, to literówka. Jest natywny, a nie natywny reaktywny
prodeveloper

0
  1. Zamknij IDE
  2. Zamknij terminale węzła z uruchomionym ng serv lub npm start
  3. Przejdź do folderu projektu / node_modules i sprawdź, czy możesz znaleźć pakiet, który próbujesz zainstalować
  4. Jeśli znajdziesz pakiet, którego szukasz, usuń folder z pakietami
  5. W przypadku, gdy jest to Twoja pierwsza instalacja npm, pomiń krok 4 i usuń wszystko wewnątrz node_modules. Jeśli nie znajdziesz node_modules, utwórz jeden folder w swoim projekcie.
  6. Otwórz terminal w trybie administratora i wykonaj instalację npm.

Mam nadzieję, że to powinno rozwiązać problem


0

WRESZCIE to działa po 4 godzinach od instalacji, odinstalowania, aktualizacji, bla, bla.

Jedyne, co to zrobiło, to użycie starszej wersji węzła 8.9.1 x64

To był komputer z systemem Windows 10.

Mam nadzieję, że to komuś pomoże.


0

Jeśli jesteś w projekcie natywnym React, a Expo jest uruchomione , zamknij je .

Zainstaluj ponownie pakiet i wszystko powinno być w porządku.


0

Pamiętaj też, aby zakończyć wszystkie inne polecenia np npm run dev-server.


To naprawdę powinien być komentarz. Zawiera dodatkowe pomocne informacje, ale nie rozwiązuje problemu.
GhostCat

@GhostCat To możliwe rozwiązanie, więc powinna to być odpowiedź!
zupa gulaszowa

0

Rozwiązaniem, które działało, jest zamknięcie wszystkich wystąpień programu PowerShell i cmd. Uruchom ponownie PowerShell / cmd jako administrator i wydaje się, że wszystko działa.

Może się to zdarzyć, jeśli wykonujesz reakcję natywną, a cmd node.js jest otwarty w tle.


0

W systemie Windows 10 npm cache clean --forcei npm cache verifynie działa dla mnie. Próba usunięcia folderu pamięci podręcznej i pliku z uprawnieniami administratora nie działa. Narzędzie proces explorer- pomógł mi stwierdzenia, że Node.exetrzyma w pliku cache. Zabiłem proces i próbowałem wyczyścić, działało.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.