Npm ERR! код EPERM

Я использую node v6.11.2, npm v5.3.0 и angular/cli v1.2.7.

Я получаю следующее сообщение об ошибке для большинства моих установок npm. Никогда не видел этого раньше...

[email protected] MINGW64 ~/Desktop/Angular Solutions/my-app (master)
$ npm install --save [email protected] font-awesome
npm ERR! path C:\Users\mmeppiel\Desktop\Angular Solutions\my-app\node_modules\fs                            events\node_modules
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall lstat
npm ERR! Error: EPERM: operation not permitted, lstat 'C:\Users\mmeppiel\Desktop                            \Angular Solutions\my-app\node_modules\fsevents\node_modules'
npm ERR!     at Error (native)
npm ERR!  { Error: EPERM: operation not permitted, lstat 'C:\Users\mmeppiel\Desk                            top\Angular Solutions\my-app\node_modules\fsevents\node_modules'
npm ERR!     at Error (native)
npm ERR!   stack: 'Error: EPERM: operation not permitted, lstat \'C:\\Users\\mme                            ppiel\\Desktop\\Angular Solutions\\my-app\\node_modules\\fsevents\\node_modules\                            '\n    at Error (native)',
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'lstat',
npm ERR!   path: 'C:\\Users\\mmeppiel\\Desktop\\Angular Solutions\\my-app\\node_                            modules\\fsevents\\node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\mmeppiel\AppData\Roaming\npm-cache\_logs\2017-08-08T00_56_                            59_442Z-debug.log

Может ли кто-нибудь объяснить, что здесь происходит? Вещи, которые я пробовал:

  • Запуск Git Bash в качестве администратора
  • Отключение защиты брандмауэра и антивируса
  • Очистка кэша npm
  • В ручном удалении конкурса AppData\Roaming\npm-cache
  • Удаление node с помощью панели управления и переустановка
  • Предоставить всем полные разрешения для C:\Program Files\nodejs
  • Переустановил CLI
  • Перезагрузили мой компьютер (не может повредить?)
  • Убедитесь, что папка node_modules не читается

Цените свое время!

Ответ 1

Используете ли вы какой-либо частный или корпоративный реестр. проверьте свой .npmrc файл и убедитесь, что он доступен.

если вы находитесь в среде компании, убедитесь, что прокси-сервер не является проблемой.

проверьте свою папку, если какой-либо пакет-lock.json создан. вы можете удалить это, чтобы выполнить установку.

У меня мало сомнений, но node 6.x.x с npm 5.x.x может быть проблемой, поскольку node 7.x.x совместим с парой 5.x.x. И обычно node 6.x.x совместим с npm 4.x.x

Ответ 2

Я получаю эту ошибку при запуске кода Visual Studio, потому что компилятор машинописного текста просматривает файлы и блокирует их (см. Https://github.com/Microsoft/vscode/issues/28593). Решение состоит в том, чтобы временно закрыть VS Code при работе с NPM. Возможно, у вас есть что-то, смотрящее файлы

Ответ 3

Это может помочь https://alastaircrabtree.com/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/

Также попробуйте сыграть с разными версиями node, лучший способ обновления/переключения вашего node в Windows - использовать nvm-windows Таким образом, вы можете иметь несколько версий node, установленных на вашем компьютере-разработчике, с которым вы можете переключиться.

ОБНОВЛЕНИЕ 0:

Когда вы сталкиваетесь с такими проблемами, вы должны убедиться, что ничто не блокирует нашу папку node_modules, такую ​​как ваш Code Editor (например, VS Code, ect), или вы можете запускать npm start в другом окне консоли и т.д.

ОБНОВЛЕНИЕ 1:

Если вы все еще испытываете проблему, попробуйте полностью удалить как node, так и npm из вашей системы. Затем перезагрузите компьютер и снова установите node и npm.

ОДНАКО

Это швы, как это часто бывает, просмотрев npm выдает фильтрацию npm ERR! code EPERM. Если вы просмотрите некоторые из этих проблем, вы увидите, что некоторые люди говорят, что переключение версии node на самом деле помогает (именно я говорил сначала), поэтому вам нужно играть с nvm-windows и посмотрите, какая версия node работает лучше всего для вас.

После установки nvm-windows вы можете сделать:

  • nvm list - показывает все ваши локальные версии node, которые вы можете переключить на
  • nvm list available - показывает все фактические версии node, которые вы можете установить локально
  • nvm install <version number> - установить (загрузить + установить) конкретную версию node
  • nvm use <version number> перейти к определенной версии node
  • nvm help - поможет вам

Если вы перейдете с основной версии npm на некоторые из ваших пакетов, которые вы установленный с предыдущей версией node, может перестать работать, поэтому вы необходимо переустановить их

Ответ 5

Очень похожая проблема, только конкретная жалоба заключалась в том, что скандир терпел неудачу в определенной подпапке (fsevents) в новом целевом каталоге приложения. Я проверил и обнаружил, что указанная папка даже не существует, потому что она была продуктом дополнительной зависимости, которая была пропущена на npm install, потому что я был на Windows, а не на Linux.

Операция script, выполняющая команду сборки приложения, выполняется таким образом, чтобы компенсировать это, когда в Windows PowerShell выполняется "ng new". Это не работает при запуске в обычном CMD-окне. Поэтому в моем случае исправление было просто запустить "ng new" под Windows PowerShell, а не в cmd-окне, и установка завершилась успешно - наконец, после того, как вы попробовали несколько других вещей.

Ответ 6

Запустите командную строку Windows от имени администратора. Затем перейдите ("cd directoryName") в папку вашего проекта и выполните "npm install".

Ответ 7

Обычно мы предполагаем, что команда "tns run android" также настроит платформу андроида, которая два раза не удалась, и затем я решил ее, выполнив следующие две команды в указанном порядке:

   tns platform add android
   tns run android

Ответ 8

Решил это, установив машинописный текст глобально. Для Angular Compiler требуется TypeScript> = 3.1.1 и <3.3.0. Изменена версия в package.json на установленную версию. Затем сделал установку npm

    npm install -g typescript
    npm info typescript version
    npm install

Ответ 9

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

  1. Деактивируйте любое антивирусное программное обеспечение (до полной установки), установленное на вашем компьютере.

  2. Убедитесь, что файл adb.exe (если есть) не работает в фоновом режиме.

    Для этого откройте диспетчер задач, перейдите на вкладку "Процессы" и завершите процесс adb.exe.

  3. Удалите неполные предыдущие установки expo-cli, выполнив команду

    npm удалить -g expo-cli --save

  4. Теперь установите приложение expo-cli

    npm install -g expo-cli

Это добилось цели в моем случае. Мог бы сделать и для кого-то еще.

Ура!

Ответ 10

Обычно это из-за отсутствия прав доступа к папкам внутри C: /Users/... Если вы создали свой проект в папке C: /Users/.., вам необходимо получить разрешение администратора для внесения изменений в эту папку. Запустите редактор кода от имени администратора. Это позволит программе вносить изменения в эту папку.

Ответ 11

Проблема в том, что вы используете неправильную версию node для вашей операционной системы. Он пытается получить lstat (syscall POSIX), который не существует в Windows.

В настоящее время у меня нет другого решения, кроме install the correct npm

Надеюсь, это помогло вам!

https://linux.die.net/man/2/lstat

ИЗМЕНИТЬ Если вы не можете найти исправление, я предлагаю вам перейти на страницу Github Issue.

Ответ 12

Попробуйте запустить командную строку от имени администратора. Работал на меня.