Npm Будь ласка, спробуйте використовувати цю команду ще раз як root / administrator


102

Я відчайдушно намагався встановити модулі за допомогою node.js, але завжди не вдається отримати пакунки з npm.

Я увійшов у систему як адміністратор і використовував powershell / cmd з "run as administrator". У мене також були проблеми з реєстром, тому я використовував npm set Registry http://registry.npmjs.org/

Я все пробував ... це просто ганяє мене.

Ось помилки:

npm ERR! Спробуйте запустити цю команду ще раз як 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
Мою папку node_modules було встановлено лише для читання! Клацніть правою кнопкою миші властивості та виправте її. :}
Vael Victus

Відповіді:


105

Виявляється, вам не доведеться запускати команду ще раз як адміністратор, і це не вирішить проблему.

Спробуйте:

  1. npm cache clean перший.

  2. Якщо це не виправити речі, подивіться на %APPDATA%\npm-cache, або якщо ви використовуєте PowerShell, $env:APPDATA\npm-cache.

Після очищення кеша вам можуть залишитися залишки. Вручну видаліть усе з цього каталогу та повторіть спробу. Це завжди фіксувало речі для мене.

Як згадував @Crazzymatt, від версії npm @ 5 і вище нам потрібно використовувати npm cache verifyзамість npm cache clean. Або ви отримаєте помилку, як і раніше.

npm ERR! Станом на npm @ 5, кеш-пам'ять npm самовиліковується від проблем з корупцією та дані, витягнуті з кешу, гарантовано є дійсними. Якщо ви хочете переконатися, що все відповідає, замість цього використовуйте 'npm cache verify'.

(Джерело: MSDN блог )


16
Станом на NPM5 можна запустити "npm cache verify", який працював на мене
crazymatt

8
Іноді npm cache cleanвам дадуть попередження, тож ви, можливо, захочете примусити його очистити, виконуючи цеnpm cache clean --force
its.david

1
Просто виконання команди (наприклад npm install --save xxx) знову працювало для мене.
ПершийОдин

спробуйте: кеш npm перевірити
MagGGG

У моєму випадку мені довелося перезавантажити машину після очищення папки% APPDATA% \ npm-кеш. Windows 10.
rey_coder

47

Я вирішую його як адміністратор cmd. Очищення кешу, npm cache clean -f а потім спробуйте встановити пакет ще раз


Я це зробив, але це не працює. Я також керував командою як адміністратор.
Хуй Нго

5
це працювало для мене на Windows 10 - запустіть, оскільки адміністратор не вирішив проблему
itstata

19

Вам слід запустити cmd.exe як адміністратор.

Виконайте наступні дії:

  • Клацніть Пуск, виберіть Усі програми, а потім Аксесуари.
  • Клацніть правою кнопкою миші командний рядок та натисніть кнопку Запустити як адміністратор.

17

Ось як я це зафіксував у своєму Windows (7) Dev. середовище. Я припускаю наступне ...

  • Ви запускаєте командний рядок , Git Bash , Cmder або ваш улюблений термінал як адміністратор , клацнувши правою кнопкою миші
  • Привілеї надано дозволи для читання / запису (тобто chmod -777)

Гаразд, давайте до цього:

  1. Оновіть будь-які пакети, де перевірка версії повертає попередження ("npm WARN" ..), наприклад ...

    npm update -g npm

    npm оновлення -g витончено-fs

  2. Далі ми хочемо змусити в кеш чистий . Це позначено символами '--f' або '-f' ..

    npm кеш чистий --f

  3. У Провідниках вдів шукайте наступний шлях

% APPDATA% \ npm-кеш

І Видаліть його вміст

  1. Почніть новий екземпляр свого Терміналу , пам’ятаючи «Клацніть правою кнопкою миші» та «Запустити як адміністратор », встановіть пакунки ще раз.

Сподіваюся, це допоможе комусь !!


Я спробував багато рішень, які працювали на інших людей, але чорт .... не вдалося мені встановити npm install --save-dev webpack. Пару тижнів тому це спрацювало чудово, і я знову займаюся підручником з усіма тими ж командами, але не дозволяючи мені встановлювати дозволи, чи що завгодно. Я знайшов це: github.com/npm/npm/isissue/18380
JoshYates1980

npm install - для мене не працював необов'язковий вебпакет, ПІСЛЯ я відкотився до npm i -g npm@5.3
JoshYates1980

Це рішення має бути покращено для користувачів Windows 7. Працювали для мене.
Undrium

Видалення вмісту npm-кешу працювало для мене. Спасибі
Альвін

8

Я вже працював у вікні командного вікна як адміністратор. Як вже згадувалося багатьма вище, наступна команда з --f (force) вирішила мою проблему.

npm кеш чистий -f

Після очищення кешу, установка була бездоганною. Для посилання дивіться скріншот


7
Я впевнений, що ви знаєте, що ви робите.
JoshYates1980


5

Якщо ви використовуєте TFS або будь-який інший елемент управління джерелом для свого проекту, який встановлює перевірені файли в режим лише для читання, тоді ви повинні переконатися, що package.json перевіряється перед запуском npm установки. Я багато разів робив цю помилку.


4

Спробуйте виконати наступні дії

1. Запустіть цю команду на терміналі або CMD -npm cache clean

2. Перейдіть у цю папку у вікні %APPDATA%\npm-cacheта видаліть папку, у яку потрібно встановити модуль (напр .: - laravel-elixir) або якщо ви використовуєте PowerShell, $ env: APPDATA \ npm-cache

3. Потім запустіть свою команду EX:- npm install laravel-elixir


Якщо це не працює, перейдіть до %APPDATA%\npmта видаліть обидва ngфайли та спробуйте.
дев

4

Ось як я вирішив проблему в Windows. Я намагався встановити CLI для Angular.

  1. Вимкніть брандмауер та антивірусні засоби.

  2. Клацніть правою кнопкою миші папку nodejs (у розділі Файли програм), виберіть Властивості (прокрутіть увесь шлях вниз), перейдіть на вкладку Безпека та клацніть усі елементи в стовпці ДОПУСК (для всіх системних пакетів та будь-якого користувача чи групи, що дозволяє додати Галочка "дозволити").

  3. Клацніть піктограму Windows. Введіть cmd. Клацніть правою кнопкою миші верхній результат і виберіть Запустити як адміністратор. Результати командного вікна.

  4. Введіть кеш-пам'ять npm чисту. Якщо виникла помилка, закрийте файли журналів або щось відкрите і повторіть.

  5. Введіть npm install -g @ angular / cli (Або будь-яку команду npm install, яку ви використовуєте)

  6. Перевірте встановлення, ввівши ng –version (або все, що вам потрібно для підтвердження встановлення)

Удачі! Примітка. Якщо у вас все ще виникають проблеми, перевірте Шлях у екологічних змінних. (Для доступу: Панель управління → Система та безпека → Система → Розширені налаштування системи → Змінні середовища.) Мій змінний шлях включав у себе наступне: C: \ Користувачі \ Michele \ AppData \ Роумінг \ npm


Дякуємо @tigerRose. Чудові інструкції. Здавалося, це допомагає мені прогресувати.
Санді Лауфенберг-Деку

1
Нарешті, "Вимкніть брандмауер та антивірусні засоби" знову
JoshYates1980

3

У мене була така ж проблема, що я зробив, щоб її вирішити, запустив cmd.exe в якості адміністратора, хоча мій обліковий запис уже встановлено як адміністратор.



2

Це течія часто трапляється в цьому випадку. Ви запускаєте команду без прав адміністратора, ви отримуєте повідомлення npm ERR! Please try running this command again as root/Administrator.. Потім ви відкриєте ще один CLI (cmd, powerhell, bash або будь-який інший) і не закриваєте попередній CLI. Здається, у вас є два підказки, відкриті в одному каталозі. І поки ви не закриєте CLI, який працює без прав адміністратора, ви будете постійно отримувати npm ERR! Please try running this command again as root/Administrator. настільки близький CLI, який працює без прав адміністратора до запуску нового.

ПРИМІТКА : багато IDE вбудували CLI (Visual Studio, VS-код тощо), тому, будь ласка, закрийте і примірник IDE


2

У мене була така ж проблема, і я виправив помилку, очистивши кеш:

npm cache clean -f

1

Якщо ви робите це на тип mac: sudo chown -R $ USER / usr / local, який надасть вам адміністративний доступ до ваших файлів


4
Страшний шлях. Ви будете гальмувати рівень дозволу на систему за допомогою цього.
стбород

1

Те, що мені допомогло в Windows 10, було лише позначкою "Тільки для читання" проекту node_modules.


Відчував себе схематично, але це спрацювало для мене, npm cache cleanале не вирішило проблему.
Катон Малий

1

Я зіткнувся з цією проблемою 2 рази і спробував усі пропозиції тут з посереднім успіхом.

  • Перший раз я спробував (і вдало досягти успіху):

    1. видаліть папку node_modules у вашому проекті

    2. npm clean cache -f

    3. перевірити своє %APPDATA%/npm-cacheта видалити все, якщо не порожнє

    4. запустити термінал як адміністратор (на мою думку, це не проблема прав, але це не зашкодить, якщо ви це зробите)

    5. npm install і потім npm update

    6. ви отримаєте помилки, просто встановіть кожен модуль, який видає помилку вручну і покроково намагайтеся усунути все, що не так

Однак цей метод досить розчаровує і не працює кожен раз. Тому спробуйте це:

  • Вдруге мені не пощастило з вищезазначеними кроками, тому я спробував повністю перевстановити npm, і це не вдалося. Тому я подумав, що з моєю установкою node.js щось має бути не так. Моя команда працює 6.10. і у мене був 6.11. і спробував це з 6.10. без везіння

    1. Тож я повністю витерла все зі своєї системи. Видалили всі модулі вузлів, перевірили кожен шлях, де міг бути вузол або npm, і очистили мою систему.

    2. Тоді я встановив новітні 8.1.3

    3. Видалили мій проект і клонували його до зовсім іншого каталогу.

    4. Тепер я все встановив і оновив npm install npm update

    5. Потім я компілював лише 2 модулі, які відсутні, і встановив їх вручну

Тадааааа, його робота працює зараз. Так що загалом це була проблема з node.js. Я рекомендую всім, хто стикається з цією проблемою: Спробуйте різні версії вузлів! І очистити АБСОЛЮТ все.


1

Як мій останній спосіб усунення цієї помилки, я створив свіжу віртуальну машину Windows 10 і встановив останній nodejs (v6). Але з'явилася ще безліч інших "помилок!" переробляти.

Мені довелося запустити, npm cache clean --forceяке іронічно дасть тобі повідомлення, яке глазує "Я впевнений, що ти знаєш, що робиш". Це, здається, спрацювало.

Це не вирішує проблему на моїй головній машині Dev. Я консервую nodejs, як виявив за останні кілька років, що ви витрачаєте більше часу на її виправлення, а не на фактичну розробку. У мене було менше проблем з вузлом на Linux ubuntu 14.04, якщо це допоможе.


1

Видалення глобального npm-кешу та / або запуск мого рядка cmd як адміністратор для мене не працювало. Крім того, що стосується npm версії 5.xx, він нібито відновлюється від кеш-корупції сам по собі.

Це спрацювало:

1. Видалено папку node_modules з мого поточного проекту.

2. Видалено package-lock.json у моєму поточному проекті

3. Встановлено новий пакет. У моєму випадку:npm install bootstrap@next --save

4. Побіг npm installдля мого поточного проекту.

Все зараз працює. Взагалі, нюкінг node_modules та package-lock.json зазвичай виправляють ці помилки "без видимих ​​причин".

EDIT

У мене знову була така ж проблема. Але я помітив, що все було встановлено правильно, навіть якщо воно викинуло помилку після того, як я дотримувався наведених вище кроків. Тож я міг просто бігати ng serve(для Angular), і все спрацювало.

Це точно дивна помилка ...


1

Як хак,

Перевірте, чи існує шлях папки, на яку він скаржиться. Якщо ні, спробуйте створити їх вручну та повторно встановіть установку, очистивши кеш

Я мав успіх у цьому, коли запуск установки з командного рядка, оскільки адміністратор не працював


1

$ npm кеш чистого
npm ERR! Станом на npm @ 5, кеш-пам'ять npm самолікується від проблем з корупцією та дані, витягнуті з кешу, гарантовано є дійсними. Якщо ви хочете переконатися, що все відповідає, замість цього використовуйте 'npm cache verify'.

Я спробував працювати npm cache verifyз правами адміністратора, і це спрацювало після цього.


1

Це працювало для мене, якщо ваш package.jsonне надто великий, ви можете це зробити:

  • Вихід, то вхід.
  • Видалити node_modules.
  • npm install знову.

0

Як і інші відповіді, очистіть кеш npm та переконайтесь, що папка кешу порожня, а потім запустіть npm встановити кілька разів. Кожного разу, коли повідомлення про помилку надходить для різних пакетів, і в остаточний час (після X спроб) це вдається.

  1. Біжи npm clean cache --force
  2. cd %APPDATA%\npm-cache(або cd $env:APPDATA\npm-cacheдля PowerShell)
  3. del * щоб видалити все в папці
  4. Поверніться до папки проекту та запустіть npm installкілька разів, поки це не вдасться. Зауважте, що повідомлення про помилки надходять для різних пакетів щоразу.

0

ЩО РОБИТИ ДЛЯ МНЕ

Я керував командним рядком як адміністратор. Це частково допомогло - оскільки я більше не отримав помилку, "Будь ласка, спробуйте використовувати цю команду ще раз як root / administrator". Я намагався встановити Кордову. Щоб зробити це успішно, я також повинен був зробити наступне:

(1) "вузол оновлення npm", плюс ...

(2) Я також додав "-g" в >> npm встановити cordova <<. Іншими словами, введіть це: >> npm install -g cordova <<

~~~ ДЛЯ ВІННІВ 8.1 ~~~

ПРОПЛАТА КОМАНДИ "РАБИТИ ЯК АДМІНІСТРАТОР"

Для Windows 8.1 у мене немає групи АКСЕСУАРІЙ, коли натискаю кнопку START> ВСІ ПРОГРАМИ. Але у мене є такі старші - але надійні та надійні - Кнопка СТАРТУ та МЕНЮ СТАРТУ - завдяки безкоштовній програмі Класичне меню «Пуск». Отже, із встановленим….

АЛЬТЕРНАТИВ №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.

ALTERNATIVE # 2 Якщо у вас вже відкрите та запущене вікно командного рядка - і ви хочете відкрити ще одне для запуску в якості адміністратора:

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. 

Сподіваюся, що це комусь допоможе.


0

Я не знаю, які кроки працювали для мене. Але це мої кроки, щоб позбутися цієї помилки:

  1. Оновлено Node.js
  2. Ран кеш НОЙ чиста команда з командного рядка (з яким - то елементом сумніви на предмет наявності кеша)
  3. У командному рядку як адміністратор (в ОС Windows) Ran react-native init в командному рядку, сподіваючись, добре працює з sudo reakct-native init на Mac OS

Я спробував вашу пораду, але коли я перейшов до кроку 3 - >> запуск реактивно-нативної init в командному рядку << - мабуть, у мене не встановлена ​​ця програма -. Далі - я шукав свою систему за допомогою меню "Пуск" - нічого не з'являється. Далі я погуглив його, і GOOGLE пропонує "реагувати ..." (не "реагує ..."). Може хтось може пояснити, як встановити або використовувати REACTIVE-NATIVE - або- REACT-NATIVE ??? Заздалегідь
дякую

Вибачте, це помилка друку. Це рідний, що не реагує, не реактивний
розробник

0
  1. Закрийте IDE
  2. Закрийте термінали вузлів, на яких працює ng serve або npm start
  3. Перейдіть до папки проекту / node_modules і побачите, чи зможете ви знайти пакет, який ви намагаєтесь встановити
  4. Якщо ви знайшли шуканий пакет, видаліть папку пакета
  5. У випадку, якщо це ваша перша npm установка, тоді пропустіть крок 4 та видаліть усе, що знаходиться всередині node_modules. Якщо ви не знайдете node_modules, тоді створіть одну папку у своєму проекті.
  6. Відкрийте термінал в режимі адміністратора і не встановлюйте npm.

Це має сподіватися, щоб вирішити це питання


0

НАРЕШЧО Зробив це після 4 годин встановлення, видалення, оновлення, бла-бла.

Єдине, що це зробило, - це використовувати старішу версію вузла v8.9.1 x64

Це Windows 10.

Сподіваюся, що це комусь допоможе.


0

Якщо ви реагуєте на рідний проект, а Expo працює , закрийте його .

Перевстановіть пакет, і все повинно бути добре.


0

Також не забудьте закінчити всі інші команди, наприклад npm run dev-server.


Це справді має бути коментар. Це дає додаткову корисну інформацію, але не вирішує питання.
GhostCat

@GhostCat Це можливе рішення, тому це має бути відповіддю!
гуляшсуп

0

Рішення, яке спрацювало - закрити всі екземпляри PowerShell та cmd. Запустіть PowerShell / cmd знову як адміністратор, і все, здається, працює.

Це може статися, якщо ви робите реакцію-натиснуту, а node.js cmd відкритий у фоновому режимі.


0

На windows 10, npm cache clean --forceі npm cache verifyне працював для мене. Спробував видалити папку кеша і файл з дозволу адміністратора, не вийшло. Інструмент провідника процесів допоміг мені виявити, що Node.exeє в кеш-файлі. Я вбив процес і спробував очистити, працював.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.