НПМ ошибается! возникновения ошибки EPERM код

Я использую узел v6.11.2, НПМ v5.3.0 и угловой/cli v1.2.7.

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

mmeppiel@MC-LT-MMEPPIEL MINGW64 ~/Desktop/Angular Solutions/my-app (master)
$ npm install --save bootstrap@4.0.0-alpha.6 font-awesome
npm ERR! path C:UsersmmeppielDesktopAngular Solutionsmy-appnode_modulesfs                            eventsnode_modules
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall lstat
npm ERR! Error: EPERM: operation not permitted, lstat 'C:UsersmmeppielDesktop                            Angular Solutionsmy-appnode_modulesfseventsnode_modules'
npm ERR!     at Error (native)
npm ERR!  { Error: EPERM: operation not permitted, lstat 'C:UsersmmeppielDesk                            topAngular Solutionsmy-appnode_modulesfseventsnode_modules'
npm ERR!     at Error (native)
npm ERR!   stack: 'Error: EPERM: operation not permitted, lstat 'C:Usersmme                            ppielDesktopAngular Solutionsmy-appnode_modulesfseventsnode_modules                            'n    at Error (native)',
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'lstat',
npm ERR!   path: 'C:UsersmmeppielDesktopAngular Solutionsmy-appnode_                            modulesfseventsnode_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:UsersmmeppielAppDataRoamingnpm-cache_logs17-08-08T00_56_                            59_442Z-debug.log

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

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

ценим Ваше время!

8 ответов


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

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

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

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


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


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

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

обновление 0:

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

обновление 1:

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

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

после nvm-windows установлен, вы можете сделать:

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

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


у меня такая же проблема, даже при использовании Node v8.6.0 и npm v5.4.2.

решено с помощью:

npm cache clean --force

&

npm install [package] --force

ссылки: руководство по устранению неполадок npm wiki.


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

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


Запустите командную строку windows от имени администратора. Затем перейдите ("CD directoryName") в папку проекта"установка npm".


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

   tns platform add android
   tns run android

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

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

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

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

редактировать Если вы не можете найти исправление, я бы предложил вам перейти на страницу выпуска Github.