Npm Пожалуйста, попробуйте снова использовать эту команду как root / administrator


102

Я отчаянно пытался установить модули с помощью node.js, но всегда не получал пакеты с npm.

Я вошел в систему как администратор и использовал powershell / cmd с «запуском от имени администратора». У меня также были проблемы с реестром, поэтому я использовал npm set registry http://registry.npmjs.org/

Я все перепробовал ... это просто сводит меня с ума.

Вот ошибки:

npm ERR! Пожалуйста, попробуйте запустить эту команду еще раз от имени пользователя root / администратора.

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

Ответы:


106

Оказывается, вам не нужно снова запускать команду от имени администратора, и это не решит проблему.

Пытаться:

  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», который у меня
сработал

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

1
Просто запуск команды (например npm install --save xxx) снова сработал для меня.
FirstOne 02

попробуйте: npm cache
verify

В моем случае мне пришлось перезагрузить компьютер после очистки папки% APPDATA% \ npm-cache. Windows 10.
rey_coder

48

Решаю под управлением администратора cmd. Очистка кеша npm cache clean -f А потом попробуйте снова установить пакет


Я так и сделал, но это не работает. Я также выполнил команду как администратор.
Huy Ngo

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

19

Вы должны запустить cmd.exe от имени администратора.

Выполните следующие шаги:

  • Щелкните Пуск, щелкните Все программы, а затем щелкните Стандартные.
  • Щелкните правой кнопкой мыши командную строку и выберите команду Запуск от имени администратора.

17

Вот как я исправил это на моем Windows (7) Dev. Окружающая среда. Я предполагаю следующее ...

  • Вы запускаете командную строку , Git Bash , Cmder или ваш любимый терминал в качестве администратора , щелкнув правой кнопкой мыши
  • Привилегии Разрешения были предоставлены для чтения / записи (т.е. chmod -777)

Ладно, приступим:

  1. Обновите все пакеты, в которых проверка версии возвращает предупреждение (например, "npm WARN" ..) ...

    npm update -g npm

    npm update -g изящный-fs

  2. Далее мы хотим заставить в кэш чистый . Это помечается с помощью '--f' или '-f' ..

    очистка кеша npm --f

  3. В Widows Explorer найдите следующий путь

% APPDATA% \ npm-кеш

И удалите его содержимое

  1. Запустите новый экземпляр вашего терминала , не забыв «щелкнуть правой кнопкой мыши» и «запустить от имени администратора », и снова установить пакеты.

Надеюсь, это кому-то поможет !!


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

npm install --no-optional webpack работал у меня ПОСЛЕ того, как я откатился до npm i -g npm@5.3
JoshYates1980

Это решение должно быть доступно пользователям Windows 7. Работал у меня.
Undrium

У меня сработало удаление содержимого npm-cache. Спасибо
Элвин

8

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

очистка кэша npm -f

После очистки кэша установка прошла безупречно. Смотрите скриншот для справки


7
Я очень надеюсь, что вы знаете, что делаете.
JoshYates1980


5

Если вы используете TFS или любой другой исходный элемент для своего проекта, который устанавливает для ваших зарегистрированных файлов режим только для чтения, то перед запуском npm install необходимо убедиться, что package.json извлечен. Я совершал эту ошибку много раз.


4

Попробуйте выполнить следующие шаги

1. Запустите эту команду в Терминале или CMD -npm cache clean

2. Перейдите в эту папку в Windows %APPDATA%\npm-cacheи удалите папку, в которую вы хотите установить модуль (например, - laravel-elixir), или, если вы используете PowerShell, $ env: APPDATA \ npm-cache

3. Затем запустите вашу команду EX:- npm install laravel-elixir


Если это не сработает, %APPDATA%\npmудалите оба ngфайла и попробуйте.
dev

4

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

  1. Отключите брандмауэр и антивирусную защиту.

  2. Щелкните правой кнопкой мыши папку nodejs (в разделе Program Files), выберите Properties (прокрутите до конца вниз), щелкните вкладку Security и щелкните все элементы в столбце ALLOW (для всех системных пакетов и любого пользователя или группы, которые позволяют добавлять Галочка «разрешить»).

  3. Щелкните значок Windows. Введите cmd. Щелкните правой кнопкой мыши верхний результат и выберите Запуск от имени администратора. Появится командное окно.

  4. Введите npm cache clean. Если есть ошибка, закройте файлы журналов или что-нибудь открытое и запустите заново.

  5. Введите npm install -g @ angular / cli (или любую другую команду установки npm, которую вы используете)

  6. Проверьте установку, набрав ng –version (или все, что вам нужно для проверки установки)

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


Спасибо @tigerRose. Отличные инструкции. Казалось, что помогло мне добиться прогресса.
Sandi Laufenberg-Deku

1
Наконец, снова
включен параметр

3

У меня была та же проблема, что я сделал для ее решения, запустил cmd.exe от имени администратора, хотя моя учетная запись уже была настроена как администратор.



2

Такой поток в данном случае часто бывает. Вы запускаете команду без прав администратора, вы получаете сообщение npm ERR! Please try running this command again as root/Administrator.. Затем вы открываете еще один интерфейс командной строки (cmd, powershell, bash или что-то еще) и не закрываете предыдущий интерфейс командной строки. Похоже, у вас открыто 2 приглашения в одном каталоге. И пока вы не закроете CLI, который работает без прав администратора, вы будете постоянно получать npm ERR! Please try running this command again as root/Administrator. So close CLI, который работает без прав администратора, перед запуском нового.

ПРИМЕЧАНИЕ : многие IDE имеют встроенный интерфейс командной строки (Visual Studio, VS Code и т. Д.), Поэтому также закройте экземпляр IDE.


2

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

npm cache clean -f

1

Если вы делаете это на Mac, введите: sudo chown -R $ USER / usr / local, что даст вам административный доступ к вашим файлам.


4
Ужасный способ. Этим вы снизите уровень разрешений системы.
stborod 02

1

Что помогло мне в Windows 10, так это просто отметка «Только для чтения» проекта node_modules.


Это выглядело отрывочно, но у меня это сработало, но npm cache cleanне решило проблему.
Cato Minor

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-cache и / или запуск моей строки cmd от имени администратора не помогли мне. Кроме того, начиная с версии 5.xx npm, он предположительно самостоятельно восстанавливается после повреждения кеша.

Это сработало:

1. Удалил папку node_modules в моем текущем проекте.

2. Удалил package-lock.json в моем текущем проекте.

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

4. Побежал npm installза моим текущим проектом.

Теперь все работает. В общем, nuking node_modules и package-lock.json обычно исправляет эти ошибки «без видимой причины» для меня.

РЕДАКТИРОВАТЬ

У меня снова была та же проблема. Но я заметил, что все было установлено правильно, даже если после выполнения описанных выше действий возникла ошибка. Так что я мог просто запустить ng serve(для Angular), и все заработало .

Это определенно странная ошибка ...


1

Как взломать,

Проверьте, существует ли путь к папке, на которую он жалуется. Если нет, попробуйте создать их вручную и перезапустите установку после очистки кеша.

Мне это удалось, когда запуск установки из командной строки в качестве администратора не работал


1

$ npm cache clean
npm ERR! Начиная с npm @ 5, кеш npm самовосстанавливается от проблем с повреждением, и данные, извлеченные из кеша, гарантированно являются действительными. Если вы хотите убедиться, что все согласовано, используйте вместо этого npm cache verify.

Я пробовал работать npm cache verifyс правами администратора, и после этого все заработало.


1

Это сработало для меня, если ваш package.jsonне слишком большой, вы можете сделать это:

  • Выйдите, затем войдите.
  • Удалить node_modules.
  • npm install очередной раз.

0

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

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

0

ЧТО Сработало для меня

Я запустил командную строку от имени администратора. Это помогло частично - так как я больше не получал сообщения об ошибке «Пожалуйста, попробуйте снова использовать эту команду от имени пользователя root / администратора». Я пытался установить Кордову. Чтобы сделать это успешно, мне также пришлось сделать следующее:

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

(2) Я также добавил "-g" в >> npm install cordova <<. Другими словами, введите следующее: >> npm install -g cordova <<

~~~ ДЛЯ WINDOWS 8.1 ~~~

КОМАНДА «ЗАПУСТИТЬ ОТ АДМИНИСТРАТОРА»

Для Windows 8.1 у меня нет группы АКСЕССУАРЫ, когда я нажимаю ПУСК> ВСЕ ПРОГРАММЫ. Но у меня есть старые - но надежные и надежные - КНОПКА ПУСКА и МЕНЮ ЗАПУСКА - благодаря бесплатному приложению Классическое меню Пуск. Итак, после установки ....

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

АЛЬТЕРНАТИВА №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. Запустил response-native init в командной строке от имени администратора (в ОС Windows), надеясь, что он хорошо работает с sudo response-native init в Mac OS

Я попробовал ваш совет, но когда я добрался до шага 3 - >> запуск reactive-native init в командной строке << - видимо, у меня не установлена ​​эта программа -. Далее - я обыскал свою систему с помощью меню «Пуск» «Поиск» - ничего не найдено. Затем я погуглил, и GOOGLE предлагает «реагировать ...» (а не «реагировать ...»). Может кто-нибудь объяснить, как установить или использовать REACTIVE-NATIVE - или REACT-NATIVE ??? Заранее спасибо
Sandi Laufenberg-Deku

Извините, это опечатка. Он
prodeveloper

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 Это возможное решение, так что это должен быть ответ!
goulashsoup

0

Решение, которое сработало, - закрыть все экземпляры PowerShell и cmd. Снова запустите PowerShell / cmd от имени администратора, и все вроде работает.

Это может произойти, если вы выполняете response-native, а cmd node.js открыт в фоновом режиме.


0

На windows 10 у меня так npm cache clean --forceи npm cache verifyне заработало. Пытался удалить папку кеша и файл с правами администратора, не вышло. Инструмент Process-Explorer помог мне найти, что Node.exeхранится в файле кеша. Убил процесс и попробовал почистить, заработало.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.