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, может перестать работать, поэтому вы необходимо переустановить их
Ответ 4
У меня такая же проблема, даже при использовании Node v8.6.0
и npm v5.4.2
.
Решено:
npm cache clean --force
&
npm install [package] --force
Ссылка: npm wiki руководство по устранению неполадок.
Ответ 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 может быть решена только путем разрешения.
-
Деактивируйте любое антивирусное программное обеспечение (до полной установки), установленное на вашем компьютере.
-
Убедитесь, что файл adb.exe (если есть) не работает в фоновом режиме.
Для этого откройте диспетчер задач, перейдите на вкладку "Процессы" и завершите процесс adb.exe.
-
Удалите неполные предыдущие установки expo-cli, выполнив команду
npm удалить -g expo-cli --save
-
Теперь установите приложение 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
Попробуйте запустить командную строку от имени администратора. Работал на меня.